class ObjCGenerator::Command

Public Instance Methods

generate_categories(input_file, output_dir) click to toggle source
# File lib/ObjCGenerator/command.rb, line 25
def generate_categories(input_file, output_dir)
  parser = JSONParser.new()
  result = parser.parse(input_file)

  categoryGenerator = CategoryGenerator.new()

  result.each do |klass|
    class_name = klass[:name]

    header = categoryGenerator.generate_category_header(class_name)
    File.open( output_dir + "/#{klass[:name]}+CustomCode.h", 'w') { |file| file.write(header) }

    implementation = categoryGenerator.generate_category_implementation(class_name)
    File.open( output_dir + "/#{klass[:name]}+CustomCode.m", 'w') { |file| file.write(implementation) }
  end
end
run(input_file, output_dir) click to toggle source
# File lib/ObjCGenerator/command.rb, line 4
def run input_file, output_dir
  parser = JSONParser.new()

  result = parser.parse(input_file)
  result.each do |klass|

    g = ClassInterfaceGenerator.new()
    gc = ClassImplementationGenerator.new()

    header = g.generate_class_header klass[:name], klass[:var_list]
    File.open( output_dir + "/#{klass[:name]}.h", 'w') { |file| file.write(header) }

    implementation = gc.class_implementation klass[:name], klass[:var_list]
    File.open( output_dir + "/#{klass[:name]}.m", 'w') { |file| file.write(implementation) }

    fc = FileCopier.new()
    fc.copy_categories(output_dir)

  end
end