Module: Enumerable
- Defined in:
- lib/enumerable.rb
Instance Method Summary collapse
- #clean ⇒ Object
-
#clean! ⇒ Object
delete hash or array values if value is nil ex: { a: nil, b: 2 }.clean! => { b: 2 }.
- #map_and_find ⇒ Object
- #map_and_select ⇒ Object
- #map_to_hash ⇒ Object
Instance Method Details
#clean ⇒ Object
2 3 4 |
# File 'lib/enumerable.rb', line 2 def clean deep_dup.clean! end |
#clean! ⇒ Object
delete hash or array values if value is nil ex: { a: nil, b: 2 }.clean! => { b: 2 }
8 9 10 11 12 13 14 |
# File 'lib/enumerable.rb', line 8 def clean! if is_a?(Hash) delete_if { |_k, v| empty_value?(v) } else delete_if { |v| empty_value?(v) } end end |
#map_and_find ⇒ Object
16 17 18 19 20 21 22 |
# File 'lib/enumerable.rb', line 16 def map_and_find mapped = nil find do |*args| mapped = yield(*args) end mapped || nil end |
#map_and_select ⇒ Object
24 25 26 27 28 29 |
# File 'lib/enumerable.rb', line 24 def map_and_select mapped = map do |*args| yield(*args) end mapped.select { |e| e } end |
#map_to_hash ⇒ Object
31 32 33 34 35 36 37 |
# File 'lib/enumerable.rb', line 31 def map_to_hash {}.tap do |hash| each do |element| hash[element] = yield(element) end end end |