class Goldpricez::Request

Attributes

path[RW]
session[RW]
token[RW]

Public Class Methods

new(host, path, token=nil) click to toggle source
# File lib/goldpricez/request.rb, line 9
def initialize(host, path, token=nil)
  @token = token
  @path = path
  @session = Faraday.new url: host
end

Public Instance Methods

cast_error(response) click to toggle source
# File lib/goldpricez/request.rb, line 25
def cast_error(response)
  error_map = {
    500 => 'Sever error! Something were wrong in the server.',
    400 => "Bad request!, #{ message }",
    404 => 'Not found!',
    405 => 'Operation does not allowed!',
  }
  raise GoldpricezError, "Status: #{ response.status }. Error: #{ error_map[response.status] }"
end
get(url, params={}) click to toggle source
# File lib/goldpricez/request.rb, line 15
def get(url, params={})
    params = JSON.generate(params)
    response = @session.get do |req|
      req.url "#{ @path }#{ url }"
      req.headers['X-API-KEY'] = @token
    end
    cast_error(response) unless (response.status == 200 || response.status == 201)
    return JSON JSON.parse(response.body, :quirks_mode => true)
end