class ObjCGenerator::JSONParser
Public Instance Methods
parse(input_file)
click to toggle source
return an array of maps in this format {:name => 'SampleClass', :var_list => [.…]}
# File lib/ObjCGenerator/json_parser.rb, line 7 def parse(input_file) parsed = JSON.parse(input_file) result = [] parsed.each do |klass| if klass["type"] == "Class" var_list = klass["vars"].map { |hash| case hash["type"] when "Bool" TypeBool.new(hash["name"]) when "Int" TypeInt.new(hash["name"]) when "Float" TypeFloat.new(hash["name"]) when "String" TypeString.new(hash["name"]) when "Date" TypeDate.new(hash["name"]) when "Array" TypeArray.new(hash["name"], hash["subType"]) else TypeCustomObject.new(hash["name"], hash["type"]) end } end #end if result << {name: klass["name"], var_list: var_list } end #end each result end