class PetfinderV2::Requests::Request

Constants

BASE_URL
COLLECTION_OPTS
SINGLE_OPTS

Public Class Methods

new(access_token) click to toggle source
# File lib/petfinder_V2/requests/request.rb, line 29
def initialize(access_token)
  @access_token = access_token
  @conn = Faraday.new(BASE_URL)
end

Public Instance Methods

get(path, opts = {}) click to toggle source
# File lib/petfinder_V2/requests/request.rb, line 34
def get(path, opts = {})
  set_connection_headers
  set_connection_get_params(opts)
  @conn.get(path)
end

Private Instance Methods

collection_opts(collection) click to toggle source
# File lib/petfinder_V2/requests/request.rb, line 56
def collection_opts(collection)
  if collection.respond_to?(:each)
    collection.join(',')
  else
    collection.to_s
  end
end
set_connection_get_params(opts) click to toggle source
# File lib/petfinder_V2/requests/request.rb, line 47
def set_connection_get_params(opts)
  SINGLE_OPTS.each do |key|
    @conn.params[key.to_s] = opts[key].to_s if opts[key]
  end
  COLLECTION_OPTS.each do |key|
    @conn.params[key.to_s] = collection_opts(opts[key]) if opts[key]
  end
end
set_connection_headers() click to toggle source
# File lib/petfinder_V2/requests/request.rb, line 42
def set_connection_headers
  @conn.headers['Content-Type'] = 'application/json'
  @conn.headers['Authorization'] = "Bearer #{@access_token}"
end