module Gyro::Generator
Public Instance Methods
generate_entities(xcdatamodel)
click to toggle source
# File lib/gyro/generator/liquid/liquid.rb, line 60 def generate_entities(xcdatamodel) xcdatamodel.to_h['entities'].each do |entity| entity_context = { 'params' => @params, 'entity' => entity } # Rendering template using entity and params context output = render_entity(entity_context) # Don't generate empty output next if output.delete("\n").empty? filename_context = { 'params' => @params, 'name' => entity['name'] } # Rendering filename template using entity name and params context filename = render_filename(filename_context) Gyro::Log.success("#{filename} is created !") # Write model object File.write(@output_dir + filename, output) # Generate model object enums generate_enums(entity['attributes']) end end
generate_enum(enum_name, output)
click to toggle source
# File lib/gyro/generator/liquid/liquid.rb, line 96 def generate_enum(enum_name, output) # Rendering enum filename template using enum name and params context enum_filename_context = { 'params' => @params, 'name' => enum_name } enum_filename = render_enum_filename(enum_filename_context) File.write(@output_dir + enum_filename, output) end
generate_enums(attributes)
click to toggle source
# File lib/gyro/generator/liquid/liquid.rb, line 79 def generate_enums(attributes) enums = [] attributes.each do |attribute| enum_type = attribute['enum_type'] next if enums.include?(enum_type) || enum_type.empty? enums.push(enum_type) enum_context = { 'params' => @params, 'attribute' => attribute } # Rendering enum template using attribute and params context output = render_enum(enum_context) # Don't generate empty output next if output.delete("\n").empty? generate_enum(enum_type, output) end end
render_entity(context)
click to toggle source
# File lib/gyro/generator/liquid/liquid.rb, line 103 def render_entity(context) @entity_template.render(context, filters: [Gyro::Generator::LiquidFilters]) .gsub(/^ +$/, '') end
render_enum(context)
click to toggle source
# File lib/gyro/generator/liquid/liquid.rb, line 112 def render_enum(context) @enum_template.render(context, filters: [Gyro::Generator::LiquidFilters]) .gsub(/^ +$/, '') end
render_enum_filename(context)
click to toggle source
# File lib/gyro/generator/liquid/liquid.rb, line 117 def render_enum_filename(context) @enum_filename_template.render(context).chomp end
render_filename(context)
click to toggle source
# File lib/gyro/generator/liquid/liquid.rb, line 108 def render_filename(context) @entity_filename_template.render(context).chomp end