Class: Hash
- Inherits:
-
Object
- Object
- Hash
- Defined in:
- lib/simple_utilities/hash.rb
Overview
hash.deep_keys = %i[a b c]
Instance Method Summary collapse
- #deep_keys ⇒ Object
- #deep_transform_values(&block) ⇒ Object
- #deep_transform_values!(&block) ⇒ Object
- #reject_empty ⇒ Object
- #reject_empty! ⇒ Object
Instance Method Details
#deep_keys ⇒ Object
26 27 28 29 30 |
# File 'lib/simple_utilities/hash.rb', line 26 def deep_keys reduce([]) do |memo, (k, v)| memo << (v.is_a?(Hash) ? [k, v.deep_keys] : k) end.flatten end |
#deep_transform_values(&block) ⇒ Object
13 14 15 16 17 |
# File 'lib/simple_utilities/hash.rb', line 13 def deep_transform_values(&block) transform_values do |v| v.is_a?(Hash) ? v.deep_transform_values(&block) : yield(v) end end |
#deep_transform_values!(&block) ⇒ Object
19 20 21 22 23 24 |
# File 'lib/simple_utilities/hash.rb', line 19 def deep_transform_values!(&block) each do |k, v| self[k] = v.is_a?(Hash) ? v.deep_transform_values!(&block) : yield(v) end self end |
#reject_empty ⇒ Object
32 33 34 |
# File 'lib/simple_utilities/hash.rb', line 32 def reject_empty reject { |_, v| v.to_s.empty? } end |
#reject_empty! ⇒ Object
36 37 38 |
# File 'lib/simple_utilities/hash.rb', line 36 def reject_empty! reject! { |_, v| v.to_s.empty? } end |