class Giftbit::Request

Public Class Methods

new(key, url) click to toggle source
# File lib/giftbit-rails/request.rb, line 9
def initialize key, url
  raise self.argument_error("api_key and api_url") if key.blank? || url.blank?
  self.class.base_uri url
  self.class.headers({'Content-Type' => 'application/json', 'Authorization' => "Bearer #{key}"})
end

Private Class Methods

cater_exception(fire, url, args, query) click to toggle source
# File lib/giftbit-rails/request.rb, line 32
def cater_exception fire, url, args, query
  begin
    args.reject!{ |arg| arg['id'] || arg['uuid'] }
    params = query ? {query: args} : {body: args.to_json}
    response = send(fire.split('_')[1], url, params)
    extract_errors response
  rescue Net::OpenTimeout, Net::ReadTimeout, Timeout::Error => e
    raise ::Giftbit::TimeoutError.new(e.message)
  end
end