Class: Acter::Request

Inherits:
Object
  • Object
show all
Defined in:
lib/acter/request.rb

Instance Method Summary collapse

Constructor Details

#initialize(method, base_url, path, params = nil, headers = nil) ⇒ Request

Returns a new instance of Request.



7
8
9
10
11
12
13
# File 'lib/acter/request.rb', line 7

def initialize(method, base_url, path, params = nil, headers = nil)
  @method = method.is_a?(Symbol) ? method : method.to_s.downcase
  @base_url = base_url
  @path = path
  @params = Hash(params)
  @headers = Hash(headers)
end

Instance Method Details

#clientObject



15
16
17
18
19
20
21
22
23
24
25
26
27
28
# File 'lib/acter/request.rb', line 15

def client
  unless @client && !block_given?
    @client = Faraday.new(
      url: @base_url,
      headers: {'Accept' => "application/json"},
    ) do |faraday|
      faraday.request :json
      yield faraday if block_given?
      faraday.response :json, content_type: /\bjson(?:;|$)/
      faraday.adapter Faraday.default_adapter
    end
  end
  @client
end

#sendObject



30
31
32
# File 'lib/acter/request.rb', line 30

def send
  Response.new_from_faraday(client.send(@method, @path, @params, @headers))
end