module Metrika::Helpers::Request

Constants

DEFAULT_OPTIONS

Protected Instance Methods

delete(path, options={}) click to toggle source
# File lib/metrika/helpers/request.rb, line 40
def delete(path, options={})      
  response = self.token.delete(path, DEFAULT_OPTIONS.merge(options))
  
  # self.raise_errors(response)
  Yajl::Parser.parse(response.body)
end
get(path, params = {}, options = {}) click to toggle source
# File lib/metrika/helpers/request.rb, line 13
def get(path, params = {}, options = {})      
  begin
    response = self.token.get(path, DEFAULT_OPTIONS.merge(:params => params).merge(options))
  rescue OAuth2::Error => e            
    self.process_oauth2_errors(e.response.status, e.message, path, params)
  end  
  
  Yajl::Parser.parse(response.body)
end
post(path, body = {}, options = {}) click to toggle source
# File lib/metrika/helpers/request.rb, line 23
def post(path, body = {}, options = {})
  encoded_body = Yajl::Encoder.encode(body)
  response = self.token.post(path, DEFAULT_OPTIONS.merge(:body => encoded_body).merge(options))

  # self.raise_errors(response)
  Yajl::Parser.parse(response.body)
end
process_oauth2_errors(status, message, path = nil, params = {}) click to toggle source
# File lib/metrika/helpers/request.rb, line 47
def process_oauth2_errors(status, message, path = nil, params = {})        
  case status
  when 404
    raise Metrika::Errors::NotFoundError.new(:message => message, :path => path, :params => params)
  when 403            
    raise Metrika::Errors::AccessDeniedError.new(:message => message, :path => path, :params => params)
  else  
    raise Metrika::Errors::MetrikaError.new(:message => message, :path => path, :params => params)
  end
end
put(path, body = {}, options = {}) click to toggle source
# File lib/metrika/helpers/request.rb, line 32
def put(path, body = {}, options = {})        
  encoded_body = Yajl::Encoder.encode(body)
  response = self.token.put(path, DEFAULT_OPTIONS.merge(:body => encoded_body).merge(options))
  
  # self.raise_errors(response)
  Yajl::Parser.parse(response.body)
end