Class: Object
- Inherits:
- BasicObject
- Defined in:
- lib/lite/ruby/object.rb
Instance Method Summary collapse
- #array? ⇒ Boolean
- #blank? ⇒ Boolean
- #bool? ⇒ Boolean
- #boolean? ⇒ Boolean
- #date? ⇒ Boolean
-
#false? ⇒ Boolean
rubocop:disable Style/YodaCondition.
-
#falsey? ⇒ Boolean
rubocop:enable Style/YodaCondition.
- #float? ⇒ Boolean
- #hash? ⇒ Boolean
- #integer? ⇒ Boolean
- #numeral? ⇒ Boolean
- #numeric? ⇒ Boolean
- #open_struct? ⇒ Boolean
- #palindrome? ⇒ Boolean
- #present? ⇒ Boolean
- #range? ⇒ Boolean
- #safe_call(*keys) ⇒ Object
- #safe_send(*keys) ⇒ Object
- #safe_try(*obj, &block) ⇒ Object
- #salvage(placeholder = '---') ⇒ Object
- #send_chain(*keys) ⇒ Object
- #send_chain_if(*keys) ⇒ Object
- #send_if(key, *args) ⇒ Object
- #set? ⇒ Boolean
- #string? ⇒ Boolean
- #struct? ⇒ Boolean
- #symbol? ⇒ Boolean
- #time? ⇒ Boolean
-
#true? ⇒ Boolean
rubocop:disable Style/YodaCondition.
-
#truthy? ⇒ Boolean
rubocop:enable Style/YodaCondition.
- #try(*obj, &block) ⇒ Object
- #try!(*obj, &block) ⇒ Object
- #try_call(*keys) ⇒ Object
- #try_send(*keys) ⇒ Object
Instance Method Details
#array? ⇒ Boolean
12 13 14 |
# File 'lib/lite/ruby/object.rb', line 12 def array? is_a?(Array) end |
#blank? ⇒ Boolean
16 17 18 19 20 21 22 |
# File 'lib/lite/ruby/object.rb', line 16 def blank? object = self object = object.strip if respond_to?(:strip) return object.empty? if respond_to?(:empty?) !object end |
#bool? ⇒ Boolean
24 25 26 |
# File 'lib/lite/ruby/object.rb', line 24 def bool? true? || false? end |
#boolean? ⇒ Boolean
28 29 30 |
# File 'lib/lite/ruby/object.rb', line 28 def boolean? TRUE_VALUES.include?(self) || FALSE_VALUES.include?(self) end |
#date? ⇒ Boolean
32 33 34 |
# File 'lib/lite/ruby/object.rb', line 32 def date? is_a?(Date) end |
#false? ⇒ Boolean
rubocop:disable Style/YodaCondition
37 38 39 |
# File 'lib/lite/ruby/object.rb', line 37 def false? false == self end |
#falsey? ⇒ Boolean
rubocop:enable Style/YodaCondition
42 43 44 |
# File 'lib/lite/ruby/object.rb', line 42 def falsey? nil? || FALSE_VALUES.include?(self) end |
#float? ⇒ Boolean
46 47 48 |
# File 'lib/lite/ruby/object.rb', line 46 def float? is_a?(Float) end |
#hash? ⇒ Boolean
50 51 52 |
# File 'lib/lite/ruby/object.rb', line 50 def hash? is_a?(Hash) end |
#integer? ⇒ Boolean
54 55 56 |
# File 'lib/lite/ruby/object.rb', line 54 def integer? is_a?(Integer) end |
#numeral? ⇒ Boolean
58 59 60 |
# File 'lib/lite/ruby/object.rb', line 58 def numeral? !to_s.match(/\A[+-]?\d+?(\.\d+)?\Z/).nil? end |
#numeric? ⇒ Boolean
62 63 64 |
# File 'lib/lite/ruby/object.rb', line 62 def numeric? is_a?(Numeric) end |
#open_struct? ⇒ Boolean
66 67 68 |
# File 'lib/lite/ruby/object.rb', line 66 def open_struct? is_a?(OpenStruct) end |
#palindrome? ⇒ Boolean
70 71 72 |
# File 'lib/lite/ruby/object.rb', line 70 def palindrome? to_s == to_s.reverse end |
#present? ⇒ Boolean
74 75 76 |
# File 'lib/lite/ruby/object.rb', line 74 def present? !blank? end |
#range? ⇒ Boolean
78 79 80 |
# File 'lib/lite/ruby/object.rb', line 78 def range? is_a?(Range) end |
#safe_call(*keys) ⇒ Object
82 83 84 |
# File 'lib/lite/ruby/object.rb', line 82 def safe_call(*keys) try_call(*keys) || self end |
#safe_send(*keys) ⇒ Object
86 87 88 |
# File 'lib/lite/ruby/object.rb', line 86 def safe_send(*keys) try_send(*keys) || self end |
#safe_try(*obj, &block) ⇒ Object
90 91 92 |
# File 'lib/lite/ruby/object.rb', line 90 def safe_try(*obj, &block) try(*obj, &block) || self end |
#salvage(placeholder = '---') ⇒ Object
94 95 96 |
# File 'lib/lite/ruby/object.rb', line 94 def salvage(placeholder = '---') blank? ? placeholder : self end |
#send_chain(*keys) ⇒ Object
98 99 100 |
# File 'lib/lite/ruby/object.rb', line 98 def send_chain(*keys) Array(keys).inject(self) { |obj, key| obj.send(*key) } end |
#send_chain_if(*keys) ⇒ Object
102 103 104 |
# File 'lib/lite/ruby/object.rb', line 102 def send_chain_if(*keys) Array(keys).inject(self) { |obj, key| obj.send_if(*key) } end |
#send_if(key, *args) ⇒ Object
106 107 108 109 110 |
# File 'lib/lite/ruby/object.rb', line 106 def send_if(key, *args) return self unless respond_to?(key) send(key, *args) end |
#set? ⇒ Boolean
112 113 114 |
# File 'lib/lite/ruby/object.rb', line 112 def set? is_a?(Set) end |
#string? ⇒ Boolean
116 117 118 |
# File 'lib/lite/ruby/object.rb', line 116 def string? is_a?(String) end |
#struct? ⇒ Boolean
120 121 122 |
# File 'lib/lite/ruby/object.rb', line 120 def struct? is_a?(Struct) end |
#symbol? ⇒ Boolean
124 125 126 |
# File 'lib/lite/ruby/object.rb', line 124 def symbol? is_a?(Symbol) end |
#time? ⇒ Boolean
128 129 130 |
# File 'lib/lite/ruby/object.rb', line 128 def time? is_a?(Time) end |
#true? ⇒ Boolean
rubocop:disable Style/YodaCondition
133 134 135 |
# File 'lib/lite/ruby/object.rb', line 133 def true? true == self end |
#truthy? ⇒ Boolean
rubocop:enable Style/YodaCondition
138 139 140 |
# File 'lib/lite/ruby/object.rb', line 138 def truthy? TRUE_VALUES.include?(self) end |
#try(*obj, &block) ⇒ Object
142 143 144 |
# File 'lib/lite/ruby/object.rb', line 142 def try(*obj, &block) try!(*obj, &block) if obj.empty? || respond_to?(obj.first) end |
#try!(*obj, &block) ⇒ Object
146 147 148 149 150 151 152 |
# File 'lib/lite/ruby/object.rb', line 146 def try!(*obj, &block) if obj.empty? && block_given? block.arity.zero? ? instance_eval(&block) : yield(self) else public_send(*obj, &block) end end |
#try_call(*keys) ⇒ Object
154 155 156 157 158 |
# File 'lib/lite/ruby/object.rb', line 154 def try_call(*keys) return unless respond_to?(:call) keys.blank? ? call : call(*keys) end |
#try_send(*keys) ⇒ Object
160 161 162 163 164 |
# File 'lib/lite/ruby/object.rb', line 160 def try_send(*keys) send(*keys) rescue StandardError nil end |