class Pacto::Contract
Attributes
file[R]
name[R]
request[R]
request_pattern[R]
response[R]
values[R]
Public Class Methods
new(request, response, file, name = nil, request_pattern_provider = RequestPattern)
click to toggle source
# File lib/pacto/contract.rb, line 5 def initialize(request, response, file, name = nil, request_pattern_provider = RequestPattern) @request = request @response = response @file = Addressable::URI.convert_path(file.to_s).to_s @name = name || @file @request_pattern = request_pattern_provider.for(request) @values = {} end
Public Instance Methods
matches?(request_signature)
click to toggle source
# File lib/pacto/contract.rb, line 29 def matches?(request_signature) request_pattern.matches? request_signature end
stub_contract!(values = {})
click to toggle source
# File lib/pacto/contract.rb, line 14 def stub_contract!(values = {}) @values = values Pacto.configuration.provider.stub_request!(request, response) end
validate_consumer(request, response, opts = {})
click to toggle source
# File lib/pacto/contract.rb, line 25 def validate_consumer(request, response, opts = {}) Pacto::ContractValidator.validate self, request, response, opts end
validate_provider(opts = {})
click to toggle source
# File lib/pacto/contract.rb, line 19 def validate_provider(opts = {}) request = @request response = provider_response validate_consumer request, response, opts end
Private Instance Methods
provider_response()
click to toggle source
# File lib/pacto/contract.rb, line 35 def provider_response @request.execute end