class AppFigures::Client
Attributes
client_key[R]
credentials[R]
Public Class Methods
new(options = {})
click to toggle source
# File lib/app_figures/client.rb, line 10 def initialize(options = {}) options ||= {} options = default_options.merge(options) @client_key = options[:client_key] @credentials = options[:credentials] check_configuration! end
Public Instance Methods
external_accounts()
click to toggle source
# File lib/app_figures/client.rb, line 39 def external_accounts response = self.class.get('/external_accounts', headers: authorization_headers) handle_request_status(response) end
list_products(store = nil, query = {})
click to toggle source
# File lib/app_figures/client.rb, line 30 def list_products(store = nil, query = {}) if store query = query.merge({store: store}) end response = self.class.get('/products/mine', query: query, headers: authorization_headers) handle_request_status(response) end
product_by_id(id)
click to toggle source
# File lib/app_figures/client.rb, line 25 def product_by_id(id) response = self.class.get("/products/#{id}", headers: authorization_headers) handle_request_status(response) end
sales(query = {})
click to toggle source
# File lib/app_figures/client.rb, line 20 def sales(query = {}) response = self.class.get('/sales', query: query, headers: authorization_headers) handle_request_status(response) end
Private Instance Methods
check_configuration!()
click to toggle source
# File lib/app_figures/client.rb, line 60 def check_configuration! if client_key.nil? or client_key == '' raise Errors::AuthorizationError.new('client_key is required.') end if credentials.nil? or credentials == '' raise Errors::AuthorizationError.new('credentials is required.') end end
default_options()
click to toggle source
# File lib/app_figures/client.rb, line 53 def default_options { client_key: ENV['APPFIGURES_CLIENT_KEY'], credentials: ENV['APPFIGURES_CREDENTIALS'] } end
handle_request_status(response)
click to toggle source
# File lib/app_figures/client.rb, line 70 def handle_request_status(response) case response.code when 403 raise Errors::Forbidden.new(response.message) when 404 raise Errors::NotFound.new when 500...600 raise Errors::BadRequest.new(response.code) else response end end