Module: ActiveObject::Object
- Defined in:
- lib/active_object/object.rb
Instance Method Summary collapse
- #array? ⇒ Boolean
- #blank? ⇒ Boolean
- #boolean? ⇒ Boolean
-
#false? ⇒ Boolean
rubocop:disable Style/YodaCondition.
-
#falsey? ⇒ Boolean
rubocop:enable Style/YodaCondition.
- #float? ⇒ Boolean
- #hash? ⇒ Boolean
- #integer? ⇒ Boolean
- #numeral? ⇒ Boolean
- #numeric? ⇒ Boolean
- #palindrome? ⇒ Boolean
- #present? ⇒ Boolean
- #range? ⇒ Boolean
- #salvage(placeholder = '---') ⇒ Object
- #send_chain(*keys) ⇒ Object
- #send_chain_if(*keys) ⇒ Object
- #send_if(key, *args) ⇒ Object
- #string? ⇒ Boolean
- #time? ⇒ Boolean
-
#true? ⇒ Boolean
rubocop:disable Style/YodaCondition.
-
#truthy? ⇒ Boolean
rubocop:enable Style/YodaCondition.
- #try(*obj, &block) ⇒ Object
- #try!(*obj, &block) ⇒ Object
Instance Method Details
#array? ⇒ Boolean
12 13 14 |
# File 'lib/active_object/object.rb', line 12 def array? is_a?(Array) end |
#blank? ⇒ Boolean
16 17 18 19 20 |
# File 'lib/active_object/object.rb', line 16 def blank? object = self object = object.strip if respond_to?(:strip) respond_to?(:empty?) ? object.empty? : !object end |
#boolean? ⇒ Boolean
22 23 24 |
# File 'lib/active_object/object.rb', line 22 def boolean? TRUE_VALUES.include?(self) || FALSE_VALUES.include?(self) end |
#false? ⇒ Boolean
rubocop:disable Style/YodaCondition
27 28 29 |
# File 'lib/active_object/object.rb', line 27 def false? false == self end |
#falsey? ⇒ Boolean
rubocop:enable Style/YodaCondition
32 33 34 |
# File 'lib/active_object/object.rb', line 32 def falsey? nil? || FALSE_VALUES.include?(self) end |
#float? ⇒ Boolean
36 37 38 |
# File 'lib/active_object/object.rb', line 36 def float? is_a?(Float) end |
#hash? ⇒ Boolean
40 41 42 |
# File 'lib/active_object/object.rb', line 40 def hash? is_a?(Hash) end |
#integer? ⇒ Boolean
44 45 46 |
# File 'lib/active_object/object.rb', line 44 def integer? is_a?(Integer) end |
#numeral? ⇒ Boolean
48 49 50 |
# File 'lib/active_object/object.rb', line 48 def numeral? !to_s.match(/\A[+-]?\d+?(\.\d+)?\Z/).nil? end |
#numeric? ⇒ Boolean
52 53 54 |
# File 'lib/active_object/object.rb', line 52 def numeric? is_a?(Numeric) end |
#palindrome? ⇒ Boolean
56 57 58 |
# File 'lib/active_object/object.rb', line 56 def palindrome? to_s == to_s.reverse end |
#present? ⇒ Boolean
60 61 62 |
# File 'lib/active_object/object.rb', line 60 def present? !blank? end |
#range? ⇒ Boolean
64 65 66 |
# File 'lib/active_object/object.rb', line 64 def range? is_a?(Range) end |
#salvage(placeholder = '---') ⇒ Object
68 69 70 |
# File 'lib/active_object/object.rb', line 68 def salvage(placeholder = '---') blank? ? placeholder : self end |
#send_chain(*keys) ⇒ Object
72 73 74 |
# File 'lib/active_object/object.rb', line 72 def send_chain(*keys) Array(keys).inject(self) { |obj, key| obj.send(*key) } end |
#send_chain_if(*keys) ⇒ Object
76 77 78 |
# File 'lib/active_object/object.rb', line 76 def send_chain_if(*keys) Array(keys).inject(self) { |obj, key| obj.send_if(*key) } end |
#send_if(key, *args) ⇒ Object
80 81 82 83 84 |
# File 'lib/active_object/object.rb', line 80 def send_if(key, *args) return self unless respond_to?(key) send(key, *args) end |
#string? ⇒ Boolean
86 87 88 |
# File 'lib/active_object/object.rb', line 86 def string? is_a?(String) end |
#time? ⇒ Boolean
90 91 92 |
# File 'lib/active_object/object.rb', line 90 def time? is_a?(Time) end |
#true? ⇒ Boolean
rubocop:disable Style/YodaCondition
95 96 97 |
# File 'lib/active_object/object.rb', line 95 def true? true == self end |
#truthy? ⇒ Boolean
rubocop:enable Style/YodaCondition
100 101 102 |
# File 'lib/active_object/object.rb', line 100 def truthy? TRUE_VALUES.include?(self) end |
#try(*obj, &block) ⇒ Object
104 105 106 |
# File 'lib/active_object/object.rb', line 104 def try(*obj, &block) try!(*obj, &block) if obj.empty? || respond_to?(obj.first) end |
#try!(*obj, &block) ⇒ Object
108 109 110 111 112 113 114 |
# File 'lib/active_object/object.rb', line 108 def try!(*obj, &block) if obj.empty? && block_given? block.arity.zero? ? instance_eval(&block) : yield(self) else public_send(*obj, &block) end end |