Class: ApiaClient::RequestProxy

Inherits:
Object
  • Object
show all
Defined in:
lib/apia_client/request_proxy.rb

Constant Summary collapse

METHOD_MAP =
{
  get: ApiaClient::Get,
  post: ApiaClient::Post,
  patch: ApiaClient::Patch,
  put: ApiaClient::Put,
  delete: ApiaClient::Delete
}.freeze

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(client, route) ⇒ RequestProxy

Returns a new instance of RequestProxy.



17
18
19
20
21
22
23
# File 'lib/apia_client/request_proxy.rb', line 17

def initialize(client, route)
  @client = client
  @route = route

  request_class = METHOD_MAP[@route.request_method.downcase.to_sym]
  @request = request_class.new(@route.path)
end

Instance Attribute Details

#requestObject (readonly)

Returns the value of attribute request.



15
16
17
# File 'lib/apia_client/request_proxy.rb', line 15

def request
  @request
end

#routeObject (readonly)

Returns the value of attribute route.



14
15
16
# File 'lib/apia_client/request_proxy.rb', line 14

def route
  @route
end

Instance Method Details

#argumentsObject



29
30
31
# File 'lib/apia_client/request_proxy.rb', line 29

def arguments
  @request.arguments
end

#endpointObject



33
34
35
# File 'lib/apia_client/request_proxy.rb', line 33

def endpoint
  @route.endpoint
end

#performObject



25
26
27
# File 'lib/apia_client/request_proxy.rb', line 25

def perform
  @client.request(@request)
end