Class: ApiTransformer::BackendRequestSender

Inherits:
Object
  • Object
show all
Defined in:
lib/api_transformer/backend_request_sender.rb

Overview

Processes the request block

Instance Method Summary collapse

Constructor Details

#initialize(name, options, block, frontend_headers, helper_blocks) ⇒ BackendRequestSender

Returns a new instance of BackendRequestSender.



4
5
6
7
8
9
10
11
12
13
# File 'lib/api_transformer/backend_request_sender.rb', line 4

def initialize(name, options, block, frontend_headers, helper_blocks)
  @backend_request = BackendRequest.new(
    name,
    options[:base_url],
    frontend_headers
  )

  @block = block
  @helper_blocks = helper_blocks
end

Instance Method Details

#request_nameObject



26
27
28
# File 'lib/api_transformer/backend_request_sender.rb', line 26

def request_name
  @backend_request.name
end

#send(backend_responses) ⇒ Object



15
16
17
18
19
20
21
22
23
24
# File 'lib/api_transformer/backend_request_sender.rb', line 15

def send(backend_responses)
  @helper_blocks.each { |block| instance_eval(&block) }
  instance_exec(backend_responses, &@block)

  unless @backend_request.method
    fail RequestError, "Missing method for backend request: #{request_name}"
  end

  @backend_request.send
end