Class: Casica::Request

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

Instance Method Summary collapse

Constructor Details

#initialize(token:) ⇒ Request

Returns a new instance of Request.



3
4
5
# File 'lib/casica/request.rb', line 3

def initialize(token:)
  @token = token
end

Instance Method Details

#base_urlObject



22
23
24
# File 'lib/casica/request.rb', line 22

def base_url
  @base_url ||= ENV['CASICA_BASE_URL'] || 'https://casica.io/api'
end

#connectionObject



26
27
28
29
30
31
32
# File 'lib/casica/request.rb', line 26

def connection
  @connection ||= Faraday.new do |config|
    config.request :json
    config.response :json
    config.adapter Faraday.default_adapter
  end
end

#full_url(path) ⇒ Object



18
19
20
# File 'lib/casica/request.rb', line 18

def full_url(path)
  "#{base_url}#{path}"
end

#headersObject



11
12
13
14
15
16
# File 'lib/casica/request.rb', line 11

def headers
  {
    'Authorization' => "Bearer #{@token}",
    'ContentType' => 'application/json'
  }
end

#request(method, path, args = nil) ⇒ Object



7
8
9
# File 'lib/casica/request.rb', line 7

def request(method, path, args = nil)
  connection.send(method, full_url(path), args, headers)
end