Class: HttpStub::Configurer::Request::Stub

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

Instance Method Summary collapse

Constructor Details

#initialize(args) ⇒ Stub

Returns a new instance of Stub.



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

def initialize(args)
  @id       = SecureRandom.uuid
  @request  = args[:request]
  @response = HttpStub::Configurer::Request::StubResponse.new(@id, args[:response])
  @triggers = HttpStub::Configurer::Request::Triggers.new(args[:triggers])
end

Instance Method Details

#payloadObject



14
15
16
17
18
19
20
21
22
23
24
25
# File 'lib/http_stub/configurer/request/stub.rb', line 14

def payload
  {
    id:         @id,
    uri:        HttpStub::Configurer::Request::ControllableValue.format(@request[:uri]),
    method:     @request[:method],
    headers:    HttpStub::Configurer::Request::ControllableValue.format(@request[:headers] || {}),
    parameters: HttpStub::Configurer::Request::ControllableValue.format(@request[:parameters] || {}),
    body:       HttpStub::Configurer::Request::ControllableValue.format(@request[:body] || {}),
    response:   @response.payload,
    triggers:   @triggers.payload
  }
end

#response_filesObject



27
28
29
# File 'lib/http_stub/configurer/request/stub.rb', line 27

def response_files
  ([ @response.file ] + @triggers.response_files).compact
end

#to_sObject



31
32
33
# File 'lib/http_stub/configurer/request/stub.rb', line 31

def to_s
  @request[:uri]
end