Class: ApiTransformer::Route

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

Overview

A route

Defined Under Namespace

Classes: Response

Instance Method Summary collapse

Instance Method Details

#run(base_url, params, env) ⇒ Object



9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# File 'lib/api_transformer/route.rb', line 9

def run(base_url, params, env)
  indifferent_params = Params.try_convert(params)
  endpoint = Endpoint.new(base_url, env, self)
  headers = env["client-headers"]

  helper_blocks.each { |block| endpoint.instance_eval(&block) }
  endpoint.instance_exec(indifferent_params, headers, &self.block)

  status, headers = endpoint.run

  EM.next_tick do
    endpoint.complete
  end

  Response.new(status, headers)
end