class HubriseClient::Base
Constants
- DEFAULT_API_HOST
- DEFAULT_API_PORT
- DEFAULT_OAUTH_HOST
- DEFAULT_OAUTH_PORT
- USE_HTTPS
Attributes
access_token[RW]
account_id[RW]
app_instance_id[RW]
catalog_id[RW]
customer_list_id[RW]
location_id[RW]
logger[RW]
request_callback[RW]
user_id[RW]
Public Class Methods
new(app_id, app_secret, params = {})
click to toggle source
# File lib/hubrise_client/base.rb, line 19 def initialize(app_id, app_secret, params = {}) # rubocop:disable Metrics/AbcSize, Metrics/CyclomaticComplexity @app_id = app_id @app_secret = app_secret @api_host = params[:api_host] || DEFAULT_API_HOST @api_port = params[:api_port] || DEFAULT_API_PORT @oauth_host = params[:oauth_host] || DEFAULT_OAUTH_HOST @oauth_port = params[:oauth_port] || DEFAULT_OAUTH_PORT @use_https = !!params.fetch(:use_https, USE_HTTPS) @request_callback = params[:request_callback] initialize_scope_params(params) @verbous = !!params[:verbous] unless (@logger = params[:logger]) # rubocop:disable Style/GuardClause @logger = Logger.new(STDOUT) @logger.level = @verbous ? Logger::DEBUG : Logger::WARN end end
Public Instance Methods
Protected Instance Methods
api_request(hostname, access_token = nil)
click to toggle source
# File lib/hubrise_client/base.rb, line 86 def api_request(hostname, access_token = nil) Request.new( hostname: hostname, access_token: access_token, use_https: @use_https, logger: @logger ) end
call_api(path, method = :get, data: {}, headers: {}, json: true)
click to toggle source
# File lib/hubrise_client/base.rb, line 78 def call_api(path, method = :get, data: {}, headers: {}, json: true) raise(HubriseAccessTokenMissing) if @access_token.nil? api_request("#{@api_host}:#{@api_port}/#{version}", @access_token).perform(method, path, data, json: json, headers: headers, &@request_callback) end
initialize_scope_params(params)
click to toggle source
# File lib/hubrise_client/base.rb, line 68 def initialize_scope_params(params) # rubocop:disable Metrics/CyclomaticComplexity, Metrics/PerceivedComplexity, Metrics/AbcSize, Metrics/LineLength @access_token = params[:access_token] || params["access_token"] @app_instance_id = params[:app_instance_id] || params["app_instance_id"] @user_id = params[:user_id] || params["user_id"] @account_id = params[:account_id] || params["account_id"] @location_id = params[:location_id] || params["location_id"] @catalog_id = params[:catalog_id] || params["catalog_id"] @customer_list_id = params[:customer_list_id] || params["customer_list_id"] end
oauth2_hubrise_hostname_with_version()
click to toggle source
# File lib/hubrise_client/base.rb, line 95 def oauth2_hubrise_hostname_with_version "#{@oauth_host}:#{@oauth_port}/oauth2/#{version}" end