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!(&block) ⇒ Object



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

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

#add_scenario!(name, &block) ⇒ Object



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

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

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



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

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



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

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



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

def clear_scenarios!
  @server_facade.clear_scenarios
end

#clear_stubs!Object



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

def clear_stubs!
  @server_facade.clear_stubs
end

#endpoint_template(&block) ⇒ Object



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

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

#has_started!Object



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

def has_started!
  @server_facade.server_has_started
end

#recall_stubs!Object



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

def recall_stubs!
  @server_facade.recall_stubs
end

#remember_stubsObject



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

def remember_stubs
  @server_facade.remember_stubs
end

#request_defaults=(args) ⇒ Object



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

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

#response_defaults=(args) ⇒ Object



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

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