class Pact::Provider::State::ProviderStateProxy

Attributes

missing_provider_states[R]

Public Class Methods

new() click to toggle source
# File lib/pact/provider/state/provider_state_proxy.rb, line 7
def initialize
  @missing_provider_states = {}
end

Public Instance Methods

get(name, options = {}) click to toggle source
# File lib/pact/provider/state/provider_state_proxy.rb, line 11
def get name, options = {}
  unless provider_state = ProviderStates.get(name, options)
    register_missing_provider_state name, options[:for]
    raise error_message name, options[:for]
  end
  provider_state
end
get_base(options = {}) click to toggle source
# File lib/pact/provider/state/provider_state_proxy.rb, line 19
def get_base options = {}
  ProviderStates.get_base options
end

Private Instance Methods

error_message(name, consumer) click to toggle source
# File lib/pact/provider/state/provider_state_proxy.rb, line 25
def error_message name, consumer
  "Could not find provider state \"#{name}\" for consumer #{consumer}"
end
missing_states_for(consumer) click to toggle source
# File lib/pact/provider/state/provider_state_proxy.rb, line 33
def missing_states_for consumer
  @missing_provider_states[consumer] ||= []
end
register_missing_provider_state(name, consumer) click to toggle source
# File lib/pact/provider/state/provider_state_proxy.rb, line 29
def register_missing_provider_state name, consumer
  missing_states_for(consumer) << name unless missing_states_for(consumer).include?(name)
end