Class: UspsApi::Client
- Inherits:
-
Object
- Object
- UspsApi::Client
- Includes:
- CoreLibrary
- Defined in:
- lib/usps_api/client.rb
Overview
usps_api 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.
Class Method Summary collapse
-
.from_env(**overrides) ⇒ Object
Creates a client directly from environment variables.
Instance Method Summary collapse
-
#files ⇒ FilesApi
Access to files controller.
-
#initialize(connection: nil, adapter: :net_http_persistent, timeout: 30, 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, proxy_settings: nil, logging_configuration: nil, environment: Environment::PRODUCTION, oauth_authorization_code_credentials: nil, oauth_client_credentials_credentials: nil, basic_auth_credentials: nil, bearer_token_auth_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.
-
#listener_url_specification ⇒ ListenerUrlSpecificationApi
Access to listener_url_specification controller.
-
#oauth_authorization ⇒ OauthAuthorizationApi
Access to oauth_authorization controller.
-
#oauth_authorization_code ⇒ Object
Returns the configured authentication OAuth_authorization_code instance.
-
#oauth_client_credentials ⇒ Object
Returns the configured authentication OAuth_client_credentials instance.
-
#resources ⇒ ResourcesApi
Access to resources controller.
- #user_agent_detail ⇒ Object
Constructor Details
#initialize(connection: nil, adapter: :net_http_persistent, timeout: 30, 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, proxy_settings: nil, logging_configuration: nil, environment: Environment::PRODUCTION, oauth_authorization_code_credentials: nil, oauth_client_credentials_credentials: nil, basic_auth_credentials: nil, bearer_token_auth_credentials: nil, config: nil) ⇒ Client
Returns a new instance of Client.
50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 |
# File 'lib/usps_api/client.rb', line 50 def initialize( connection: nil, adapter: :net_http_persistent, timeout: 30, 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, proxy_settings: nil, logging_configuration: nil, environment: Environment::PRODUCTION, oauth_authorization_code_credentials: nil, oauth_client_credentials_credentials: nil, basic_auth_credentials: nil, bearer_token_auth_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, proxy_settings: proxy_settings, logging_configuration: logging_configuration, environment: environment, oauth_authorization_code_credentials: , oauth_client_credentials_credentials: oauth_client_credentials_credentials, basic_auth_credentials: basic_auth_credentials, bearer_token_auth_credentials: bearer_token_auth_credentials ) else config end user_agent_params = BaseApi.user_agent_parameters @global_configuration = GlobalConfiguration.new(client_configuration: @config) .base_uri_executor(@config.method(:get_base_uri)) .global_errors(BaseApi::GLOBAL_ERRORS) .user_agent(BaseApi.user_agent, agent_parameters: user_agent_params) 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/usps_api/client.rb', line 10 def auth_managers @auth_managers end |
#config ⇒ Object (readonly)
Returns the value of attribute config.
10 11 12 |
# File 'lib/usps_api/client.rb', line 10 def config @config end |
Class Method Details
.from_env(**overrides) ⇒ Object
Creates a client directly from environment variables.
111 112 113 114 115 |
# File 'lib/usps_api/client.rb', line 111 def self.from_env(**overrides) default_config = Configuration.build_default_config_from_env new_config = default_config.clone_with(**overrides) new(config: new_config) end |
Instance Method Details
#files ⇒ FilesApi
Access to files controller.
34 35 36 |
# File 'lib/usps_api/client.rb', line 34 def files @files ||= FilesApi.new @global_configuration end |
#initialize_auth_managers(global_config) ⇒ Object
Initializes the auth managers hash used for authenticating API calls.
92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 |
# File 'lib/usps_api/client.rb', line 92 def initialize_auth_managers(global_config) @auth_managers = {} http_client_config = global_config.client_configuration %w[OAuth_authorization_code OAuth_client_credentials BasicAuth BearerTokenAuth].each do |auth| @auth_managers[auth] = nil end @auth_managers['OAuth_authorization_code'] = OauthAuthorizationCode.new( http_client_config., global_config ) @auth_managers['OAuth_client_credentials'] = OauthClientCredentials.new( http_client_config.oauth_client_credentials_credentials, global_config ) @auth_managers['BasicAuth'] = BasicAuth.new(http_client_config.basic_auth_credentials) @auth_managers['BearerTokenAuth'] = BearerTokenAuth.new( http_client_config.bearer_token_auth_credentials ) end |
#listener_url_specification ⇒ ListenerUrlSpecificationApi
Access to listener_url_specification controller.
40 41 42 |
# File 'lib/usps_api/client.rb', line 40 def listener_url_specification @listener_url_specification ||= ListenerUrlSpecificationApi.new @global_configuration end |
#oauth_authorization ⇒ OauthAuthorizationApi
Access to oauth_authorization controller.
46 47 48 |
# File 'lib/usps_api/client.rb', line 46 def @oauth_authorization ||= OauthAuthorizationApi.new @global_configuration end |
#oauth_authorization_code ⇒ Object
Returns the configured authentication OAuth_authorization_code instance.
17 18 19 |
# File 'lib/usps_api/client.rb', line 17 def @auth_managers['OAuth_authorization_code'] end |
#oauth_client_credentials ⇒ Object
Returns the configured authentication OAuth_client_credentials instance.
22 23 24 |
# File 'lib/usps_api/client.rb', line 22 def oauth_client_credentials @auth_managers['OAuth_client_credentials'] end |
#resources ⇒ ResourcesApi
Access to resources controller.
28 29 30 |
# File 'lib/usps_api/client.rb', line 28 def resources @resources ||= ResourcesApi.new @global_configuration end |
#user_agent_detail ⇒ Object
12 13 14 |
# File 'lib/usps_api/client.rb', line 12 def user_agent_detail config.user_agent_detail end |