Class: HttpStub::Server::Scenario::Activator

Inherits:
Object
  • Object
show all
Defined in:
lib/http_stub/server/scenario/activator.rb

Instance Method Summary collapse

Constructor Details

#initialize(scenario_registry, stub_registry) ⇒ Activator

Returns a new instance of Activator.



7
8
9
10
# File 'lib/http_stub/server/scenario/activator.rb', line 7

def initialize(scenario_registry, stub_registry)
  @scenario_registry = scenario_registry
  @stub_registry     = stub_registry
end

Instance Method Details

#activate(scenario, request) ⇒ Object



12
13
14
15
16
17
18
19
# File 'lib/http_stub/server/scenario/activator.rb', line 12

def activate(scenario, request)
  @stub_registry.concat(scenario.stubs, request)
  scenario.triggered_scenario_names.each do |triggered_scenario_name|
    scenario_to_activate = @scenario_registry.find(criteria: triggered_scenario_name, request: request)
    raise "Scenario not found with name '#{triggered_scenario_name}'" unless scenario_to_activate
    activate(scenario_to_activate, request)
  end
end