Class: Rswag::Specs::SwaggerFormatter
- Inherits:
-
Object
- Object
- Rswag::Specs::SwaggerFormatter
- Defined in:
- lib/rswag/specs/swagger_formatter.rb
Instance Method Summary collapse
- #example_group_finished(notification) ⇒ Object
-
#initialize(output, config = Rswag::Specs.config) ⇒ SwaggerFormatter
constructor
A new instance of SwaggerFormatter.
- #stop(notification = nil) ⇒ Object
Constructor Details
#initialize(output, config = Rswag::Specs.config) ⇒ SwaggerFormatter
Returns a new instance of SwaggerFormatter.
13 14 15 16 17 18 |
# File 'lib/rswag/specs/swagger_formatter.rb', line 13 def initialize(output, config = Rswag::Specs.config) @output = output @config = config @output.puts 'Generating Swagger docs ...' end |
Instance Method Details
#example_group_finished(notification) ⇒ Object
20 21 22 23 24 25 26 27 28 29 30 31 |
# File 'lib/rswag/specs/swagger_formatter.rb', line 20 def example_group_finished(notification) # NOTE: rspec 2.x support if RSPEC_VERSION > 2 = notification.group. else = notification. end return unless .has_key?(:response) swagger_doc = @config.get_swagger_doc([:swagger_doc]) swagger_doc.deep_merge!(()) end |
#stop(notification = nil) ⇒ Object
33 34 35 36 37 38 39 40 41 42 43 44 45 |
# File 'lib/rswag/specs/swagger_formatter.rb', line 33 def stop(notification=nil) @config.swagger_docs.each do |url_path, doc| file_path = File.join(@config.swagger_root, url_path) dirname = File.dirname(file_path) FileUtils.mkdir_p dirname unless File.exists?(dirname) File.open(file_path, 'w') do |file| file.write(JSON.pretty_generate(doc)) end @output.puts "Swagger doc generated at #{file_path}" end end |