class RspecApiDocs::Dsl::RequestStore

Used to store request/response pairs.

Attributes

metadata[R]

Public Class Methods

new(example) click to toggle source
# File lib/rspec_api_docs/dsl/request_store.rb, line 7
def initialize(example)
  @metadata = example.metadata
end

Public Instance Methods

<<(value) click to toggle source

Only needed if you need to store multiple requests for a single example.

Usage:

it 'stores the requests a character' do
  doc do
    explanation 'Creating and requesting a character'
  end

  post '/characters', {name: 'Finn The Human'}

  doc << [last_request, last_response]

  get '/characters/1'

  # The last request/response pair is stored automatically
end

@param value [Array<Rack::Request, Rack::Response>] an array of a request and response object @return [void]

# File lib/rspec_api_docs/dsl/request_store.rb, line 31
def <<(value)
  metadata[METADATA_NAMESPACE][:requests] ||= []
  metadata[METADATA_NAMESPACE][:requests] << value.sort_by { |v| v.class.name }.reverse
end