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
15
# 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
  @enabled_features     = []
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)


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

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)


50
51
52
53
54
# File 'lib/http_stub/configurer/dsl/server.rb', line 50

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



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

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



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

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

#base_uriObject



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

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

#clear_scenarios!Object



84
85
86
# File 'lib/http_stub/configurer/dsl/server.rb', line 84

def clear_scenarios!
  @server_facade.clear_scenarios
end

#clear_stubs!Object



80
81
82
# File 'lib/http_stub/configurer/dsl/server.rb', line 80

def clear_stubs!
  @server_facade.clear_stubs
end

#enable(*features) ⇒ Object



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

def enable(*features)
  @enabled_features = features
end

#enabled?(feature) ⇒ Boolean

Returns:

  • (Boolean)


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

def enabled?(feature)
  @enabled_features.include?(feature)
end

#endpoint_template(&block) ⇒ Object



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

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

#external_base_uriObject



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

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

#has_started!Object



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

def has_started!
  @server_facade.server_has_started
end

#recall_stubs!Object



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

def recall_stubs!
  @server_facade.recall_stubs
end

#remember_stubsObject



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

def remember_stubs
  @server_facade.remember_stubs
end

#request_defaults=(args) ⇒ Object



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

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

#response_defaults=(args) ⇒ Object



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

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