class EasyMeli::ApiClient
Constants
- API_ROOT_URL
Attributes
access_token[R]
logger[R]
Public Class Methods
new(access_token = nil, logger: nil)
click to toggle source
# File lib/easy_meli/api_client.rb, line 13 def initialize(access_token = nil, logger: nil) @logger = logger @access_token = access_token end
Public Instance Methods
delete(path, query: {})
click to toggle source
# File lib/easy_meli/api_client.rb, line 30 def delete(path, query: {}) send_request(:delete, path, query: query) end
get(path, query: {})
click to toggle source
# File lib/easy_meli/api_client.rb, line 18 def get(path, query: {}) send_request(:get, path, query: query) end
post(path, query: {}, body: {})
click to toggle source
# File lib/easy_meli/api_client.rb, line 22 def post(path, query: {}, body: {}) send_request(:post, path, query: query, body: body) end
put(path, query: {}, body: {})
click to toggle source
# File lib/easy_meli/api_client.rb, line 26 def put(path, query: {}, body: {}) send_request(:put, path, query: query, body: body) end
Private Instance Methods
check_for_errors(response)
click to toggle source
# File lib/easy_meli/api_client.rb, line 55 def check_for_errors(response) return unless response.parsed_response.is_a?(Hash) && !response.body.nil? exception = EasyMeli::ErrorParser.error_class(response) if exception raise exception.new(response) end end
check_status(response)
click to toggle source
# File lib/easy_meli/api_client.rb, line 47 def check_status(response) exception = EasyMeli::ErrorParser.status_error_class(response) if exception raise exception.new(response) end end
send_request(verb, path = '', params = {})
click to toggle source
# File lib/easy_meli/api_client.rb, line 36 def send_request(verb, path = '', params = {}) query = params[:query] || params['query'] || {} params[:headers] = EasyMeli::DEFAULT_HEADERS.merge(authorization_header) self.class.send(verb, path, params.merge(query)).tap do |response| logger&.log response check_status(response) check_for_errors(response) end end