module Cotoha::Connection

Public Instance Methods

delete(path, **params) click to toggle source
# File lib/cotoha/connection.rb, line 19
def delete(path, **params)
  request(:delete, path, params)
end
get(path, **params) click to toggle source
# File lib/cotoha/connection.rb, line 7
def get(path, **params)
  request(:get, path, params)
end
post(path, **params) click to toggle source
# File lib/cotoha/connection.rb, line 11
def post(path, **params)
  request(:post, path, params)
end
put(path, **params) click to toggle source
# File lib/cotoha/connection.rb, line 15
def put(path, **params)
  request(:put, path, params)
end

Private Instance Methods

connection() click to toggle source
# File lib/cotoha/connection.rb, line 36
def connection
  @connection ||= Faraday.new(url: @url) do |c|
    c.request :json
    c.response :json, content_type: /\bjson$/
    c.adapter Faraday.default_adapter
    c.headers['User-Agent'] = "Cotoha Ruby Gem #{VERSION} (#{RUBY_ENGINE}#{RUBY_VERSION})"
  end
end
request(method, path, params) click to toggle source
# File lib/cotoha/connection.rb, line 25
def request(method, path, params)
  response = connection.public_send(method, path, params) do |request|
    request.headers['Authorization'] = "Bearer #{@token}" if @token
  end

  error = Error.from_response(response)
  raise error if error

  response.body
end