class OkLinker::Request

Attributes

access_token[R]

Public Class Methods

new(credentials) click to toggle source
# File lib/ok_linker/request.rb, line 6
def initialize(credentials)
  @access_token = credentials[:access_token]
end

Public Instance Methods

get(path, params = {}) click to toggle source
# File lib/ok_linker/request.rb, line 10
def get(path, params = {})
  respond perform_request(:get, path, params)
end
post(path, params = {}) click to toggle source
# File lib/ok_linker/request.rb, line 14
def post(path, params = {})
  respond perform_request(:post, path, params)
end

Private Instance Methods

error(code, body) click to toggle source
# File lib/ok_linker/request.rb, line 43
def error(code, body)
  unless [200, 201].include?(code)
    klass = OkLinker::Error::ERRORS[code]
    klass.from_response(body)
  end
end
perform_request(method, path, params) click to toggle source
# File lib/ok_linker/request.rb, line 20
def perform_request(method, path, params)
  connection(access_token).send(method) do |req|
    req.url path
    if method == :get
      req.params = params
    else
      req.body = params
    end
  end
end
respond(response) click to toggle source
# File lib/ok_linker/request.rb, line 31
def respond(response)
  begin
    MultiJson.load(response.body)
  rescue MultiJson::ParseError
    return_error(response.status, response.body)
  end
end
return_error(code, body) click to toggle source
# File lib/ok_linker/request.rb, line 39
def return_error(code, body)
  fail error(code, body)
end