Module: JsonToOpenStruct::ClassMethods
- Defined in:
- lib/json_to_openstruct.rb
Instance Method Summary collapse
Instance Method Details
#parse_hash(hash) ⇒ Object
58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 |
# File 'lib/json_to_openstruct.rb', line 58 def parse_hash(hash) struct = self.new hash.keys.each do |key| attr_name = StringHelper.underscore(key.to_s) struct.send(attr_name) if hash[key].kind_of?(Array) struct[attr_name] = [] hash[key].each do |arr_item| struct[attr_name] << self.parse_hash(arr_item) end elsif hash[key].kind_of?(Hash) struct[attr_name] = self.parse_hash(hash[key]) else struct[attr_name] = hash[key] end end struct end |
#parse_json(json) ⇒ Object
77 78 79 80 |
# File 'lib/json_to_openstruct.rb', line 77 def parse_json(json) hash = JSON.parse(json) parse_hash(hash) end |