class Repres::Dosser::SwaggerGenerator
Public Instance Methods
bind_options()
click to toggle source
# File lib/generators/repres/dosser/swagger/swagger_generator.rb, line 24 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}" @application_name = application_name @application_name_const = application_name.upcase end
produce()
click to toggle source
# File lib/generators/repres/dosser/swagger/swagger_generator.rb, line 11 def produce bind_options generate 'repres:dosser:platform', "#{@platform_name} --version #{@version_number}" generate_gemfile generate_initializer generate_swagger generate_route end
Private Instance Methods
generate_gemfile()
click to toggle source
gemfile
Gemfile
# File lib/generators/repres/dosser/swagger/swagger_generator.rb, line 38 def generate_gemfile gem 'swagger_engine' end
generate_initializer()
click to toggle source
initializer
config/initializers/swagger_engine.rb
# File lib/generators/repres/dosser/swagger/swagger_generator.rb, line 46 def generate_initializer template 'config/initializers/swagger_engine.rb.erb', 'config/initializers/swagger_engine.rb' line = "'#{@platform_module_name} API #{@version_name}': 'lib/swagger/#{@platform_name}_api_#{@version_name}.json'" file = Rails.root.join 'config', 'initializers', 'swagger_engine.rb' if :invoke==behavior puts "Please make sure the following line is in the file #{file}:\n\n #{line}\n\n" elsif :revoke==behavior puts "Please remove the following line from the file #{file}:\n\n #{line}\n\n" end end
generate_route()
click to toggle source
route
config/routes.rb
# File lib/generators/repres/dosser/swagger/swagger_generator.rb, line 71 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
generate_swagger()
click to toggle source
swagger
lib/swagger/{platform}_api_{version}.json
# File lib/generators/repres/dosser/swagger/swagger_generator.rb, line 63 def generate_swagger template 'lib/swagger/api.json.erb', "lib/swagger/#{@platform_name}_api_#{@version_name}.json" end