Class: Contracto::Contract::Responses

Inherits:
Object
  • Object
show all
Defined in:
lib/contracto/contract.rb

Instance Method Summary collapse

Constructor Details

#initialize(responses) ⇒ Responses

Returns a new instance of Responses.



31
32
33
34
35
# File 'lib/contracto/contract.rb', line 31

def initialize(responses)
  @responses = responses.map do |response|
    Contracto::Contract::Response.new(response)
  end.sort_by(&:conditions_number).reverse
end

Instance Method Details

#countObject



45
46
47
# File 'lib/contracto/contract.rb', line 45

def count
  @responses.count
end

#find_by_params_and_headers(params, headers) ⇒ Object



37
38
39
40
41
42
43
# File 'lib/contracto/contract.rb', line 37

def find_by_params_and_headers(params, headers)
  @responses.find do |response|
    response.params_matches?(params) && response.headers_matches?(headers)
  end.tap do |response|
    Contracto::Stats.used_responses << response if response && !Contracto::Stats.used_responses.include?(response)
  end
end