class Repres::Dosser::PlatformGenerator

Public Instance Methods

produce() click to toggle source
# File lib/generators/repres/dosser/platform/platform_generator.rb, line 11
def produce

  bind_options

  generate_controller
  generate_route

end

Private Instance Methods

bind_options() click to toggle source
# File lib/generators/repres/dosser/platform/platform_generator.rb, line 20
def bind_options
  @platform_name        = file_name.downcase
  @version_number       = options['version'].to_i
  @platform_module_name = @platform_name.camelize
  @version_module_name  = "V#{@version_number}"
  @version_name         = "v#{@version_number}"
end
generate_controller() click to toggle source

controller

app/controllers/{platform}/dosser/{version}/presentation_controller.rb
app/controllers/{platform}/dosser/{version}/portals_controller.rb
# File lib/generators/repres/dosser/platform/platform_generator.rb, line 33
def generate_controller
  empty_directory "app/controllers/#{@platform_name}/dosser/#{@version_name}"
  template 'app/controllers/portals_controller.rb.erb',      "app/controllers/#{@platform_name}/dosser/#{@version_name}/portals_controller.rb"
  template 'app/controllers/presentation_controller.rb.erb', "app/controllers/#{@platform_name}/dosser/#{@version_name}/presentation_controller.rb"
end
generate_route() click to toggle source

route

config/routes.rb
# File lib/generators/repres/dosser/platform/platform_generator.rb, line 43
def generate_route
  source  = File.expand_path find_in_source_paths('config/routes.rb.erb')
  content = ERB.new(File.binread(source).strip, nil, '-', "@output_buffer").result instance_eval('binding')
  route content
end