class ApiTransformer::BackendRequestSender

Processes the request block

Public Class Methods

new(name, options, block, frontend_headers, helper_blocks) click to toggle source
# 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

Public Instance Methods

request_name() click to toggle source
# File lib/api_transformer/backend_request_sender.rb, line 26
def request_name
  @backend_request.name
end
send(backend_responses) click to toggle source
# 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

Private Instance Methods

form_param(key, value) click to toggle source
# File lib/api_transformer/backend_request_sender.rb, line 44
def form_param(key, value)
  @backend_request.form_params[key] = value
end
header_param(key, value) click to toggle source
# File lib/api_transformer/backend_request_sender.rb, line 56
def header_param(key, value)
  @backend_request.header_params[key] = value
end
json_param(key, value) click to toggle source
# File lib/api_transformer/backend_request_sender.rb, line 48
def json_param(key, value)
  @backend_request.json_params[key] = value
end
method(value) click to toggle source
# File lib/api_transformer/backend_request_sender.rb, line 36
def method(value)
  @backend_request.method = value
end
path(value) click to toggle source
# File lib/api_transformer/backend_request_sender.rb, line 32
def path(value)
  @backend_request.path = value
end
query_param(key, value) click to toggle source
# File lib/api_transformer/backend_request_sender.rb, line 40
def query_param(key, value)
  @backend_request.query_params[key] = value
end