Class: RspecApiDocs::After

Inherits:
Object
  • Object
show all
Defined in:
lib/rspec_api_docs/after.rb,
lib/rspec_api_docs/after/type_checker.rb

Defined Under Namespace

Classes: TypeChecker

Constant Summary collapse

Hook =
-> (example) do
   = example.[METADATA_NAMESPACE]
  return unless 

  [:requests] ||= []
  [:requests] << [last_request, last_response]

  return unless RspecApiDocs.configuration.validate_params

  [:requests].each do |request, response|
    request.params.each do |key, value|
      if [:parameters] && [:parameters].has_key?(key.to_sym)
        After::TypeChecker.call(type: [:parameters][key.to_sym][:type], value: value)
      else
        raise UndocumentedParameter, "undocumented parameter included in request #{key.inspect}"
      end
    end
  end
end