Class: HttpStub::Configurer::DSL::Server

Inherits:
Object
  • Object
show all
Includes:
ScenarioActivator, StubBuilderProducer
Defined in:
lib/http_stub/configurer/dsl/server.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from ScenarioActivator

#activate!

Methods included from StubBuilderProducer

#add_stubs!, #build_stub

Constructor Details

#initialize(server_facade) ⇒ Server

Returns a new instance of Server.



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

def initialize(server_facade)
  @server_facade        = server_facade
  @default_stub_builder = HttpStub::Configurer::DSL::StubBuilder.new
end

Instance Attribute Details

#hostObject

Returns the value of attribute host.



9
10
11
# File 'lib/http_stub/configurer/dsl/server.rb', line 9

def host
  @host
end

#portObject

Returns the value of attribute port.



9
10
11
# File 'lib/http_stub/configurer/dsl/server.rb', line 9

def port
  @port
end

Instance Method Details

#add_activator! {|builder| ... } ⇒ Object

Yields:

  • (builder)


57
58
59
60
61
# File 'lib/http_stub/configurer/dsl/server.rb', line 57

def add_activator!(&_block)
  builder = HttpStub::Configurer::DSL::StubActivatorBuilder.new(@default_stub_builder)
  yield builder
  @server_facade.define_scenario(builder.build)
end

#add_scenario!(name) {|builder| ... } ⇒ Object

Yields:

  • (builder)


41
42
43
44
45
# File 'lib/http_stub/configurer/dsl/server.rb', line 41

def add_scenario!(name, &_block)
  builder = HttpStub::Configurer::DSL::ScenarioBuilder.new(@default_stub_builder, name)
  yield builder
  @server_facade.define_scenario(builder.build)
end

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



47
48
49
50
51
# File 'lib/http_stub/configurer/dsl/server.rb', line 47

def add_scenario_with_one_stub!(name, builder=nil, &block)
  add_scenario!(name) do |scenario|
    scenario.add_stub!(builder) { |stub| stub.invoke(&block) }
  end
end

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



36
37
38
39
# File 'lib/http_stub/configurer/dsl/server.rb', line 36

def add_stub!(builder=nil, &block)
  resolved_builder = builder || self.build_stub(&block)
  @server_facade.stub_response(resolved_builder.build)
end

#base_uriObject



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

def base_uri
  "http://#{host}:#{port}"
end

#clear_scenarios!Object



75
76
77
# File 'lib/http_stub/configurer/dsl/server.rb', line 75

def clear_scenarios!
  @server_facade.clear_scenarios
end

#clear_stubs!Object



71
72
73
# File 'lib/http_stub/configurer/dsl/server.rb', line 71

def clear_stubs!
  @server_facade.clear_stubs
end

#endpoint_template(&block) ⇒ Object



53
54
55
# File 'lib/http_stub/configurer/dsl/server.rb', line 53

def endpoint_template(&block)
  HttpStub::Configurer::DSL::EndpointTemplate.new(self).tap { |template| template.invoke(&block) }
end

#external_base_uriObject



20
21
22
# File 'lib/http_stub/configurer/dsl/server.rb', line 20

def external_base_uri
  ENV["STUB_EXTERNAL_BASE_URI"] || base_uri
end

#has_started!Object



32
33
34
# File 'lib/http_stub/configurer/dsl/server.rb', line 32

def has_started!
  @server_facade.server_has_started
end

#recall_stubs!Object



67
68
69
# File 'lib/http_stub/configurer/dsl/server.rb', line 67

def recall_stubs!
  @server_facade.recall_stubs
end

#remember_stubsObject



63
64
65
# File 'lib/http_stub/configurer/dsl/server.rb', line 63

def remember_stubs
  @server_facade.remember_stubs
end

#request_defaults=(args) ⇒ Object



24
25
26
# File 'lib/http_stub/configurer/dsl/server.rb', line 24

def request_defaults=(args)
  @default_stub_builder.match_requests(args)
end

#response_defaults=(args) ⇒ Object



28
29
30
# File 'lib/http_stub/configurer/dsl/server.rb', line 28

def response_defaults=(args)
  @default_stub_builder.respond_with(args)
end