class EasyBroker::ApiClient
Attributes
logger[R]
Public Class Methods
new(logger: nil)
click to toggle source
# File lib/easy_broker/api_client.rb, line 10 def initialize(logger: nil) self.class.base_uri EasyBroker.configuration.api_root_url self.class.headers EasyBroker::DEFAULT_HEADERS.merge( EasyBroker::AUTHORIZATION_HEADER => EasyBroker.configuration.api_key ) @logger = logger end
Public Instance Methods
delete(path, query: {})
click to toggle source
# File lib/easy_broker/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_broker/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_broker/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_broker/api_client.rb, line 26 def put(path, query: {}, body: {}) send_request(:put, path, query: query, body: body) end
Private Instance Methods
check_errors(response)
click to toggle source
# File lib/easy_broker/api_client.rb, line 45 def check_errors(response) raise EasyBroker::AuthenticationError.new(response) if response.code == 401 end
send_request(verb, path = '', params = {})
click to toggle source
# File lib/easy_broker/api_client.rb, line 36 def send_request(verb, path = '', params = {}) query = params[:query] || params['query'] || {} self.class.send(verb, path, params.merge(query)).tap do |response| check_errors(response) logger&.log response end end