class APIBlueprint::RspecFormatter

RSpec formatter for API blueprint

Constants

VERSION

Public Class Methods

new(output) click to toggle source
Calls superclass method
# File lib/api_blueprint/rspec_formatter.rb, line 21
def initialize(output)
  super

  configure_rspec

  @output_collector = OutputCollector.new(configuration)
end

Public Instance Methods

example_passed(passed) click to toggle source
# File lib/api_blueprint/rspec_formatter.rb, line 33
def example_passed(passed)
  metadata = passed.example.metadata

  if metadata[:apidoc] && metadata[:resource_group] &&
     metadata[:resource] && metadata[:action] &&
     metadata[:action_description]

    @output_collector
      .add_example(
        metadata, passed.example.instance_variable_get(:@example_block),
        request, response
      )
  end
end
example_started(notification) click to toggle source
# File lib/api_blueprint/rspec_formatter.rb, line 29
def example_started(notification)
  @example_group_instance = notification.example.example_group_instance
end
stop(_notification) click to toggle source
# File lib/api_blueprint/rspec_formatter.rb, line 48
def stop(_notification)
  OutputPrinter.new(configuration, @output_collector, output).print
end

Private Instance Methods

configuration() click to toggle source
# File lib/api_blueprint/rspec_formatter.rb, line 58
def configuration
  self.class.configuration
end
configure_rspec() click to toggle source
# File lib/api_blueprint/rspec_formatter.rb, line 54
def configure_rspec
  RSpec.configuration.silence_filter_announcements = true
end
request() click to toggle source
# File lib/api_blueprint/rspec_formatter.rb, line 62
def request
  @example_group_instance.instance_variable_get('@request')
end
response() click to toggle source
# File lib/api_blueprint/rspec_formatter.rb, line 66
def response
  @example_group_instance.instance_variable_get('@response')
end