Class: HttpStub::Configurer::DSL::ScenarioBuilder

Inherits:
Object
  • Object
show all
Defined in:
lib/http_stub/configurer/dsl/scenario_builder.rb

Instance Method Summary collapse

Constructor Details

#initialize(name, default_stub_template) ⇒ ScenarioBuilder

Returns a new instance of ScenarioBuilder.



9
10
11
12
13
14
# File 'lib/http_stub/configurer/dsl/scenario_builder.rb', line 9

def initialize(name, default_stub_template)
  @name                     = name
  @default_stub_template    = default_stub_template
  @triggered_scenario_names = []
  @stub_builders            = []
end

Instance Method Details

#activate!(*names) ⇒ Object



25
26
27
# File 'lib/http_stub/configurer/dsl/scenario_builder.rb', line 25

def activate!(*names)
  @triggered_scenario_names.concat(names.flatten)
end

#add_stub!(builder = nil, &block) ⇒ Object



16
17
18
19
# File 'lib/http_stub/configurer/dsl/scenario_builder.rb', line 16

def add_stub!(builder=nil, &block)
  resolved_builder = builder || build_stub(&block)
  @stub_builders << resolved_builder
end

#add_stubs!(builders) ⇒ Object



21
22
23
# File 'lib/http_stub/configurer/dsl/scenario_builder.rb', line 21

def add_stubs!(builders)
  builders.each { |builder| add_stub!(builder) }
end

#buildObject



29
30
31
32
33
# File 'lib/http_stub/configurer/dsl/scenario_builder.rb', line 29

def build
  HttpStub::Configurer::Request::Scenario.new(
    name: @name, stubs: @stub_builders.map(&:build), triggered_scenario_names: @triggered_scenario_names
  )
end