Class: Hash
Instance Method Summary collapse
-
#symbolize_keys ⇒ Object
Only symbolize all keys, including all key in sub-hashes.
-
#to_struct ⇒ Object
Convert to Struct including all values that are Hash class.
Instance Method Details
#symbolize_keys ⇒ Object
Only symbolize all keys, including all key in sub-hashes.
34 35 36 37 38 39 40 |
# File 'lib/git/lighttp/extensions.rb', line 34 def symbolize_keys return self.clone if self.empty? self.inject({}) do |h, (k, v)| h[k.to_sym] = (v.kind_of? Hash) ? v.symbolize_keys : v h end end |
#to_struct ⇒ Object
Convert to Struct including all values that are Hash class.
43 44 45 46 47 48 49 |
# File 'lib/git/lighttp/extensions.rb', line 43 def to_struct keys = self.keys.sort members = keys.map(&:to_sym) Struct.new(*members).new(*keys.map do |key| (self[key].kind_of? Hash) ? self[key].to_struct : self[key] end) unless self.empty? end |