Class: Hash
- Inherits:
-
Object
- Object
- Hash
- Defined in:
- lib/hash_deep_join.rb
Instance Method Summary collapse
Instance Method Details
#deep_join(separator = '_') ⇒ Object
4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
# File 'lib/hash_deep_join.rb', line 4 def deep_join(separator = '_') joined_hash = {} each do |key, value| unless value.is_a? Hash joined_hash.merge! key => value next end value.map do |nested_key, nested_value| inner_hash = ({ nested_key => nested_value }).deep_join(separator) inner_hash.each do |joined_key, joined_value| joined_hash.merge! "#{key}#{separator}#{joined_key}" => joined_value end end end joined_hash end |
#deep_join!(separator = '_') ⇒ Object
22 23 24 25 26 |
# File 'lib/hash_deep_join.rb', line 22 def deep_join!(separator = '_') _self = dup clear self.merge! _self.deep_join separator end |