class Gifmagazine::Client

Constants

DEFAULT_ACCEPT
DEFAULT_HEADERS
DEFAULT_HOST
DEFAULT_USER_AGENT

Public Class Methods

new(options={}) click to toggle source
# File lib/gifmagazine/client.rb, line 21
def initialize(options={})
  @opts = {
    token: nil
  }.merge!(options)
end

Public Instance Methods

con() click to toggle source
# File lib/gifmagazine/client.rb, line 31
def con
  @connection ||= Faraday.new(faraday_client_options) do |connection|
    connection.request :json
    connection.response :json
    connection.adapter Faraday.default_adapter
  end
end
get(path, params={}, headers=nil) click to toggle source
# File lib/gifmagazine/client.rb, line 27
def get(path, params={}, headers=nil)
  request(:get, path, params, headers)
end

Private Instance Methods

faraday_client_options() click to toggle source
# File lib/gifmagazine/client.rb, line 40
def faraday_client_options
  {
    headers: DEFAULT_HEADERS,
    url: url_prefix
  }
end
merged_params(params) click to toggle source
# File lib/gifmagazine/client.rb, line 51
def merged_params(params)
  unless @opts[:token].nil?
    params.merge!({token: @opts[:token]})
  end
  params
end
request(request_method, path, params, headers) click to toggle source
# File lib/gifmagazine/client.rb, line 58
def request(request_method, path, params, headers)
  Gifmagazine::Response.new(
    con.send(
      request_method,
      URI.escape(path),
      merged_params(params),
      headers
    )
  )
end
url_prefix() click to toggle source
# File lib/gifmagazine/client.rb, line 47
def url_prefix
  "http://#{DEFAULT_HOST}"
end