class MTG::API::Request

Public Class Methods

get(path, options = {}, &block) click to toggle source
# File lib/mtg-api/request.rb, line 6
def get(path, options = {}, &block)
  response = HTTParty.get(base_uri + path, request_options(options), &block)

  if response.code == 200
    parsed_response(response)
  else
    raise "#{response.code} - #{response.message}"
  end
end

Private Class Methods

base_uri() click to toggle source
# File lib/mtg-api/request.rb, line 18
def base_uri
  "http://mtgapi.com/api/v1/fetch"
end
parsed_response(response) click to toggle source
# File lib/mtg-api/request.rb, line 26
def parsed_response(response)
  json = JSON.parse(response.body)

  if json.is_a?(Hash)
    Hashie::Mash.new(json)
  elsif json.is_a?(Array)
    json.map { |hash| Hashie::Mash.new(hash) }
  else
    raise "Unknown response kind."
  end
end
request_options(options) click to toggle source
# File lib/mtg-api/request.rb, line 22
def request_options(options)
  options.merge!(query: { token: Config.token })
end