module Skittles::Utils

@private

Private Class Methods

handle_foursquare_error(response) click to toggle source
# File lib/skittles/utils.rb, line 5
def self.handle_foursquare_error(response)
  info = parse_json(response.body).meta
  case info.code.to_i
  when 400
    error = Skittles::BadRequest.new
  when 401
    error = Skittles::Unauthorized.new
  when 404
    error = Skittles::NotFound.new
  when 405
    error = Skittles::MethodNotAllowed.new
  when 500
    error = Skittles::InternalServerError.new
  when 502
    error = Skittles::BadGateway.new
  when 503
    error = Skittles::ServiceUnavailable.new
  when 504
    error = Skittles::GatewayTimeout.new
  else
    error = Skittles::Error.new
  end
  error.code = info.code.to_i
  error.type = info.errorType
  error.detail = info.errorDetail
  raise error
end
parse_json(json) click to toggle source

Parses JSON and returns a Hashie::Mash

# File lib/skittles/utils.rb, line 34
def self.parse_json(json)
  Hashie::Mash.new(Yajl::Parser.new.parse(json))
end