Class: HttpStub::Configurer::Request::StubBuilder

Inherits:
Object
  • Object
show all
Defined in:
lib/http_stub/configurer/request/stub_builder.rb

Instance Method Summary collapse

Constructor Details

#initialize(response_defaults) ⇒ StubBuilder

Returns a new instance of StubBuilder.



7
8
9
10
# File 'lib/http_stub/configurer/request/stub_builder.rb', line 7

def initialize(response_defaults)
  @response = response_defaults ? response_defaults.clone : {}
  @triggers = []
end

Instance Method Details

#buildObject



26
27
28
# File 'lib/http_stub/configurer/request/stub_builder.rb', line 26

def build
  HttpStub::Configurer::Request::Stub.new(request: @request, response: @response, triggers: @triggers)
end

#match_requests(uri, args = {}) ⇒ Object



12
13
14
# File 'lib/http_stub/configurer/request/stub_builder.rb', line 12

def match_requests(uri, args={})
  @request = { uri: uri }.merge(args)
end

#respond_with(args) ⇒ Object



16
17
18
# File 'lib/http_stub/configurer/request/stub_builder.rb', line 16

def respond_with(args)
  @response.deep_merge!(args)
end

#trigger(stub_builder_or_builders) ⇒ Object



20
21
22
23
24
# File 'lib/http_stub/configurer/request/stub_builder.rb', line 20

def trigger(stub_builder_or_builders)
  resolved_builders =
    stub_builder_or_builders.is_a?(Array) ? stub_builder_or_builders : [ stub_builder_or_builders ]
  @triggers.concat(resolved_builders)
end