Module: Amazon::Util::HashNesting
- Defined in:
- lib/amazon/util/hash_nesting.rb
Instance Method Summary collapse
Instance Method Details
#nest ⇒ Object
9 10 11 12 13 |
# File 'lib/amazon/util/hash_nesting.rb', line 9 def nest result = {}.extend HashNesting primaryKeys.each { |key| traverse_nest( "#{key}", self[key] ) { |k,v| result[k] = v } } result end |
#nest! ⇒ Object
15 16 17 18 19 20 21 |
# File 'lib/amazon/util/hash_nesting.rb', line 15 def nest! keys = primaryKeys tmp = self.dup self.keys.each { |k| self.delete k} keys.each { |key| traverse_nest( "#{key}", tmp[key] ) { |k,v| self[k] = v} } self end |
#unnest ⇒ Object
23 24 25 26 27 28 29 30 |
# File 'lib/amazon/util/hash_nesting.rb', line 23 def unnest result = {}.extend HashNesting for key in primaryKeys true_keys = key.to_s.split('.') resolve_nesting( result, self[key], *true_keys) end result end |
#unnest! ⇒ Object
32 33 34 35 36 37 38 39 40 |
# File 'lib/amazon/util/hash_nesting.rb', line 32 def unnest! for key in primaryKeys true_keys = key.to_s.split('.') value = self[key] self.delete key resolve_nesting( self, value, *true_keys) end self end |