class Annict::Client

Constants

ENDPOINT_BASE_URL

Attributes

access_token[R]

Public Class Methods

new(access_token: nil) click to toggle source
# File lib/annict/client.rb, line 12
def initialize(access_token: nil)
  @access_token = access_token
end

Public Instance Methods

annict_connection() click to toggle source
# File lib/annict/client.rb, line 29
def annict_connection
  @annict_connection ||= Faraday.new(faraday_options) do |faraday|
    faraday.request :json
    faraday.response :json
    faraday.adapter Faraday.default_adapter
  end
end
send_get(path, params = {}) click to toggle source
# File lib/annict/client.rb, line 17
def send_get(path, params = {})
  send_request(:get, path, params)
end
send_post(path, params = {}) click to toggle source
# File lib/annict/client.rb, line 21
def send_post(path, params = {})
  send_request(:post, path, params)
end
send_request(method, path, params) click to toggle source
# File lib/annict/client.rb, line 25
def send_request(method, path, params)
  Annict::Response.new(annict_connection.send(method, path, params))
end

Private Instance Methods

default_headers() click to toggle source
# File lib/annict/client.rb, line 51
def default_headers
  {
    'Accept' => 'application/json',
    'User-Agent' => "Annict Ruby Gem #{Annict::VERSION}"
  }
end
faraday_headers() click to toggle source
# File lib/annict/client.rb, line 46
def faraday_headers
  return default_headers unless access_token
  default_headers.merge(Authorization: "Bearer #{access_token}")
end
faraday_options() click to toggle source
# File lib/annict/client.rb, line 39
def faraday_options
  {
    url: ENDPOINT_BASE_URL,
    headers: faraday_headers
  }
end