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