Class: ShellDataReportingApIs::Client
- Inherits:
-
Object
- Object
- ShellDataReportingApIs::Client
- Includes:
- CoreLibrary
- Defined in:
- lib/shell_data_reporting_ap_is/client.rb
Overview
shell_data_reporting_ap_is client class.
Instance Attribute Summary collapse
-
#auth_managers ⇒ Object
readonly
Returns the value of attribute auth_managers.
-
#config ⇒ Object
readonly
Returns the value of attribute config.
Instance Method Summary collapse
-
#bearer_token ⇒ Object
Returns the configured authentication BearerToken instance.
-
#customer ⇒ CustomerController
Access to customer controller.
-
#initialize(connection: nil, adapter: :net_http_persistent, timeout: 60, max_retries: 0, retry_interval: 1, backoff_factor: 2, retry_statuses: [408, 413, 429, 500, 502, 503, 504, 521, 522, 524], retry_methods: %i[get put],, http_callback: nil, environment: Environment::SIT, basic_auth_credentials: nil, bearer_token_credentials: nil, config: nil) ⇒ Client
constructor
A new instance of Client.
-
#initialize_auth_managers(global_config) ⇒ Object
Initializes the auth managers hash used for authenticating API calls.
-
#invoice ⇒ InvoiceController
Access to invoice controller.
-
#o_auth_authorization ⇒ OAuthAuthorizationController
Access to o_auth_authorization controller.
-
#transaction ⇒ TransactionController
Access to transaction controller.
Constructor Details
#initialize(connection: nil, adapter: :net_http_persistent, timeout: 60, max_retries: 0, retry_interval: 1, backoff_factor: 2, retry_statuses: [408, 413, 429, 500, 502, 503, 504, 521, 522, 524], retry_methods: %i[get put],, http_callback: nil, environment: Environment::SIT, basic_auth_credentials: nil, bearer_token_credentials: nil, config: nil) ⇒ Client
Returns a new instance of Client.
41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 |
# File 'lib/shell_data_reporting_ap_is/client.rb', line 41 def initialize( connection: nil, adapter: :net_http_persistent, timeout: 60, max_retries: 0, retry_interval: 1, backoff_factor: 2, retry_statuses: [408, 413, 429, 500, 502, 503, 504, 521, 522, 524], retry_methods: %i[get put], http_callback: nil, environment: Environment::SIT, basic_auth_credentials: nil, bearer_token_credentials: nil, config: nil ) @config = if config.nil? Configuration.new( connection: connection, adapter: adapter, timeout: timeout, max_retries: max_retries, retry_interval: retry_interval, backoff_factor: backoff_factor, retry_statuses: retry_statuses, retry_methods: retry_methods, http_callback: http_callback, environment: environment, basic_auth_credentials: basic_auth_credentials, bearer_token_credentials: bearer_token_credentials ) else config end @global_configuration = GlobalConfiguration.new(client_configuration: @config) .base_uri_executor(@config.method(:get_base_uri)) .global_errors(BaseController::GLOBAL_ERRORS) .user_agent(BaseController.user_agent) initialize_auth_managers(@global_configuration) @global_configuration = @global_configuration.auth_managers(@auth_managers) end |
Instance Attribute Details
#auth_managers ⇒ Object (readonly)
Returns the value of attribute auth_managers.
10 11 12 |
# File 'lib/shell_data_reporting_ap_is/client.rb', line 10 def auth_managers @auth_managers end |
#config ⇒ Object (readonly)
Returns the value of attribute config.
10 11 12 |
# File 'lib/shell_data_reporting_ap_is/client.rb', line 10 def config @config end |
Instance Method Details
#bearer_token ⇒ Object
Returns the configured authentication BearerToken instance.
13 14 15 |
# File 'lib/shell_data_reporting_ap_is/client.rb', line 13 def bearer_token @auth_managers['BearerToken'] end |
#customer ⇒ CustomerController
Access to customer controller.
19 20 21 |
# File 'lib/shell_data_reporting_ap_is/client.rb', line 19 def customer @customer ||= CustomerController.new @global_configuration end |
#initialize_auth_managers(global_config) ⇒ Object
Initializes the auth managers hash used for authenticating API calls.
75 76 77 78 79 80 81 82 |
# File 'lib/shell_data_reporting_ap_is/client.rb', line 75 def initialize_auth_managers(global_config) @auth_managers = {} http_client_config = global_config.client_configuration %w[BasicAuth BearerToken].each { |auth| @auth_managers[auth] = nil } @auth_managers['BasicAuth'] = BasicAuth.new(http_client_config.basic_auth_credentials) @auth_managers['BearerToken'] = BearerToken.new(http_client_config.bearer_token_credentials, global_config) end |
#invoice ⇒ InvoiceController
Access to invoice controller.
31 32 33 |
# File 'lib/shell_data_reporting_ap_is/client.rb', line 31 def invoice @invoice ||= InvoiceController.new @global_configuration end |
#o_auth_authorization ⇒ OAuthAuthorizationController
Access to o_auth_authorization controller.
37 38 39 |
# File 'lib/shell_data_reporting_ap_is/client.rb', line 37 def @o_auth_authorization ||= OAuthAuthorizationController.new @global_configuration end |
#transaction ⇒ TransactionController
Access to transaction controller.
25 26 27 |
# File 'lib/shell_data_reporting_ap_is/client.rb', line 25 def transaction @transaction ||= TransactionController.new @global_configuration end |