class Shokkenki::Consumer::Session

Attributes

configuration[R]
consumers[R]
current_consumer[R]
patronages[R]
providers[R]
ticket_location[RW]

Public Class Methods

new() click to toggle source
# File lib/shokkenki/consumer/session.rb, line 16
def initialize
  @consumers = {}
  @providers = {}
  @patronages = {}
  @ticket_location = 'tickets'
end

Public Instance Methods

add_consumer(consumer) click to toggle source
# File lib/shokkenki/consumer/session.rb, line 38
def add_consumer consumer
  @consumers[simplify(consumer.name)] = consumer
end
add_provider(provider) click to toggle source
# File lib/shokkenki/consumer/session.rb, line 30
def add_provider provider
  @providers[simplify(provider.name)] = provider
end
assert_all_interactions_used!() click to toggle source
# File lib/shokkenki/consumer/session.rb, line 78
def assert_all_interactions_used!
  @providers.values.each { |p| p.assert_all_interactions_used! }
end
assert_all_requests_matched!() click to toggle source
# File lib/shokkenki/consumer/session.rb, line 74
def assert_all_requests_matched!
  @providers.values.each { |p| p.assert_all_requests_matched! }
end
clear_interaction_stubs() click to toggle source
# File lib/shokkenki/consumer/session.rb, line 54
def clear_interaction_stubs
  @providers.values.each { |p| p.clear_interaction_stubs }
end
close() click to toggle source
# File lib/shokkenki/consumer/session.rb, line 62
def close
  @providers.values.each { |p| p.session_closed }
end
consumer(name) click to toggle source
# File lib/shokkenki/consumer/session.rb, line 46
def consumer name
  @consumers[simplify(name)]
end
current_patronage_for(provider_name) click to toggle source
# File lib/shokkenki/consumer/session.rb, line 23
def current_patronage_for provider_name
  consumer = @current_consumer
  provider = provider(provider_name) || raise("The provider '#{provider_name}' is not recognised. Have you defined it?")
  key = { consumer => provider }
  @patronages[key] ||= Shokkenki::Consumer::Model::Patronage.new :consumer => consumer, :provider => provider
end
print_tickets() click to toggle source
provider(name) click to toggle source
# File lib/shokkenki/consumer/session.rb, line 42
def provider name
  @providers[simplify(name)]
end
set_current_consumer(name) click to toggle source
# File lib/shokkenki/consumer/session.rb, line 50
def set_current_consumer name
  @current_consumer = consumer name
end
start() click to toggle source
# File lib/shokkenki/consumer/session.rb, line 58
def start
  @providers.values.each { |p| p.session_started }
end