module JsonToOpenStruct::ClassMethods
Public Instance Methods
parse_hash(hash)
click to toggle source
# 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)
click to toggle source
# File lib/json_to_openstruct.rb, line 77 def parse_json(json) hash = JSON.parse(json) parse_hash(hash) end