Class: SwaggerDocsRails::Generator
- Inherits:
-
Object
- Object
- SwaggerDocsRails::Generator
- Defined in:
- lib/swagger_docs_rails/generator.rb
Instance Method Summary collapse
- #generate ⇒ Object
- #generate_json ⇒ Object
-
#initialize(opts = {}) ⇒ Generator
constructor
A new instance of Generator.
- #write(output_path = nil) ⇒ Object
Constructor Details
#initialize(opts = {}) ⇒ Generator
Returns a new instance of Generator.
6 7 8 9 10 |
# File 'lib/swagger_docs_rails/generator.rb', line 6 def initialize(opts = {}) @schema_path = opts[:schema_path] @controllers_path = opts[:controllers_path] @config = opts.fetch(:config, {}) end |
Instance Method Details
#generate ⇒ Object
12 13 14 15 16 |
# File 'lib/swagger_docs_rails/generator.rb', line 12 def generate schema_parser = SchemaParser.new(@schema_path) controller_parser = ControllerParser.new(controller_paths) OpenapiBuilder.new(schema_parser, controller_parser, @config).build end |
#generate_json ⇒ Object
18 19 20 |
# File 'lib/swagger_docs_rails/generator.rb', line 18 def generate_json JSON.pretty_generate(generate) end |
#write(output_path = nil) ⇒ Object
22 23 24 25 26 27 |
# File 'lib/swagger_docs_rails/generator.rb', line 22 def write(output_path = nil) output_path ||= SwaggerDocsRails.configuration.output_path FileUtils.mkdir_p(File.dirname(output_path.to_s)) File.write(output_path.to_s, JSON.pretty_generate(generate)) output_path end |