Class: Swaggable::ApiValidator

Inherits:
Object
  • Object
show all
Defined in:
lib/swaggable/api_validator.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(opts = {}) ⇒ ApiValidator

Returns a new instance of ApiValidator.



8
9
10
# File 'lib/swaggable/api_validator.rb', line 8

def initialize opts = {}
  @definition, @request = opts.values_at(:definition, :request)
end

Instance Attribute Details

#definitionObject

Returns the value of attribute definition.



3
4
5
# File 'lib/swaggable/api_validator.rb', line 3

def definition
  @definition
end

Instance Method Details

#endpointObject



20
21
22
23
24
# File 'lib/swaggable/api_validator.rb', line 20

def endpoint
  definition.endpoints.detect do |e|
    e.match? *request_signature
  end || raise_endpoint_not_found
end

#endpoint_validatorObject



26
27
28
# File 'lib/swaggable/api_validator.rb', line 26

def endpoint_validator
  @endpoint_validator ||= EndpointValidator.new(endpoint: endpoint)
end

#errors_for_requestObject



12
13
14
# File 'lib/swaggable/api_validator.rb', line 12

def errors_for_request
  endpoint_validator.errors_for_request request
end

#errors_for_response(response) ⇒ Object



16
17
18
# File 'lib/swaggable/api_validator.rb', line 16

def errors_for_response response
  endpoint_validator.errors_for_response response
end