class FriendlyScore::Endpoints::Base

Public Class Methods

new(application_id, application_secret, responder) click to toggle source
# File lib/friendly_score/endpoints/base.rb, line 4
def initialize application_id, application_secret, responder
  @application_id = application_id
  @application_secret = application_secret
  @responder = responder
end

Public Instance Methods

perform(*args) click to toggle source
# File lib/friendly_score/endpoints/base.rb, line 10
def perform *args
  code, body = make_request args
  case code
    when "200" then process_response body
    when "404" then process_error body
    else raise Errors::ServerError
  end
end

Private Instance Methods

authorized_request_params(args) click to toggle source
# File lib/friendly_score/endpoints/base.rb, line 26
def authorized_request_params args
  {
    "appId" => @application_id,
    "appSecret" => @application_secret
  }.merge request_params *args
end
make_request(args) click to toggle source
# File lib/friendly_score/endpoints/base.rb, line 21
def make_request args
  params = authorized_request_params args
  @responder.get api_path, params 
end
process_error(body) click to toggle source
# File lib/friendly_score/endpoints/base.rb, line 33
def process_error body
  message = MultiJson.load(body)["message"]
  raise Errors::NotFoundError.new message
end