Class: ApiReference::Client
- Inherits:
-
Object
- Object
- ApiReference::Client
- Includes:
- CoreLibrary
- Defined in:
- lib/api_reference/client.rb
Overview
api_reference 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
-
#alert ⇒ AlertApi
Access to alert controller.
-
#availability ⇒ AvailabilityApi
Access to availability controller.
-
#coupon ⇒ CouponApi
Access to coupon controller.
-
#credit ⇒ CreditApi
Access to credit controller.
-
#credit_note ⇒ CreditNoteApi
Access to credit_note controller.
-
#customer ⇒ CustomerApi
Access to customer controller.
-
#dimensional_price_group ⇒ DimensionalPriceGroupApi
Access to dimensional_price_group controller.
-
#event ⇒ EventApi
Access to event 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, proxy_settings: nil, logging_configuration: nil, environment: Environment::PRODUCTION, bearer_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.
-
#invoice ⇒ InvoiceApi
Access to invoice controller.
-
#item ⇒ ItemApi
Access to item controller.
-
#license ⇒ LicenseApi
Access to license controller.
-
#license_type ⇒ LicenseTypeApi
Access to license_type controller.
-
#metric ⇒ MetricApi
Access to metric controller.
-
#plan ⇒ PlanApi
Access to plan controller.
-
#price ⇒ PriceApi
Access to price controller.
-
#price_interval ⇒ PriceIntervalApi
Access to price_interval controller.
-
#subscription ⇒ SubscriptionApi
Access to subscription controller.
-
#subscription_change ⇒ SubscriptionChangeApi
Access to subscription_change controller.
- #user_agent_detail ⇒ Object
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, proxy_settings: nil, logging_configuration: nil, environment: Environment::PRODUCTION, bearer_auth_credentials: nil, config: nil) ⇒ Client
Returns a new instance of Client.
124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 |
# File 'lib/api_reference/client.rb', line 124 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, proxy_settings: nil, logging_configuration: nil, environment: Environment::PRODUCTION, bearer_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, bearer_auth_credentials: bearer_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/api_reference/client.rb', line 10 def auth_managers @auth_managers end |
#config ⇒ Object (readonly)
Returns the value of attribute config.
10 11 12 |
# File 'lib/api_reference/client.rb', line 10 def config @config end |
Class Method Details
.from_env(**overrides) ⇒ Object
Creates a client directly from environment variables.
169 170 171 172 173 |
# File 'lib/api_reference/client.rb', line 169 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
#alert ⇒ AlertApi
Access to alert controller.
18 19 20 |
# File 'lib/api_reference/client.rb', line 18 def alert @alert ||= AlertApi.new @global_configuration end |
#availability ⇒ AvailabilityApi
Access to availability controller.
24 25 26 |
# File 'lib/api_reference/client.rb', line 24 def availability @availability ||= AvailabilityApi.new @global_configuration end |
#coupon ⇒ CouponApi
Access to coupon controller.
30 31 32 |
# File 'lib/api_reference/client.rb', line 30 def coupon @coupon ||= CouponApi.new @global_configuration end |
#credit ⇒ CreditApi
Access to credit controller.
36 37 38 |
# File 'lib/api_reference/client.rb', line 36 def credit @credit ||= CreditApi.new @global_configuration end |
#credit_note ⇒ CreditNoteApi
Access to credit_note controller.
42 43 44 |
# File 'lib/api_reference/client.rb', line 42 def credit_note @credit_note ||= CreditNoteApi.new @global_configuration end |
#customer ⇒ CustomerApi
Access to customer controller.
48 49 50 |
# File 'lib/api_reference/client.rb', line 48 def customer @customer ||= CustomerApi.new @global_configuration end |
#dimensional_price_group ⇒ DimensionalPriceGroupApi
Access to dimensional_price_group controller.
54 55 56 |
# File 'lib/api_reference/client.rb', line 54 def dimensional_price_group @dimensional_price_group ||= DimensionalPriceGroupApi.new @global_configuration end |
#event ⇒ EventApi
Access to event controller.
60 61 62 |
# File 'lib/api_reference/client.rb', line 60 def event @event ||= EventApi.new @global_configuration end |
#initialize_auth_managers(global_config) ⇒ Object
Initializes the auth managers hash used for authenticating API calls.
161 162 163 164 165 166 |
# File 'lib/api_reference/client.rb', line 161 def initialize_auth_managers(global_config) @auth_managers = {} http_client_config = global_config.client_configuration %w[APIKeyAuth].each { |auth| @auth_managers[auth] = nil } @auth_managers['APIKeyAuth'] = Oauth2.new(http_client_config.bearer_auth_credentials) end |
#invoice ⇒ InvoiceApi
Access to invoice controller.
66 67 68 |
# File 'lib/api_reference/client.rb', line 66 def invoice @invoice ||= InvoiceApi.new @global_configuration end |
#item ⇒ ItemApi
Access to item controller.
72 73 74 |
# File 'lib/api_reference/client.rb', line 72 def item @item ||= ItemApi.new @global_configuration end |
#license ⇒ LicenseApi
Access to license controller.
78 79 80 |
# File 'lib/api_reference/client.rb', line 78 def license @license ||= LicenseApi.new @global_configuration end |
#license_type ⇒ LicenseTypeApi
Access to license_type controller.
84 85 86 |
# File 'lib/api_reference/client.rb', line 84 def license_type @license_type ||= LicenseTypeApi.new @global_configuration end |
#metric ⇒ MetricApi
Access to metric controller.
90 91 92 |
# File 'lib/api_reference/client.rb', line 90 def metric @metric ||= MetricApi.new @global_configuration end |
#plan ⇒ PlanApi
Access to plan controller.
96 97 98 |
# File 'lib/api_reference/client.rb', line 96 def plan @plan ||= PlanApi.new @global_configuration end |
#price ⇒ PriceApi
Access to price controller.
102 103 104 |
# File 'lib/api_reference/client.rb', line 102 def price @price ||= PriceApi.new @global_configuration end |
#price_interval ⇒ PriceIntervalApi
Access to price_interval controller.
108 109 110 |
# File 'lib/api_reference/client.rb', line 108 def price_interval @price_interval ||= PriceIntervalApi.new @global_configuration end |
#subscription ⇒ SubscriptionApi
Access to subscription controller.
114 115 116 |
# File 'lib/api_reference/client.rb', line 114 def subscription @subscription ||= SubscriptionApi.new @global_configuration end |
#subscription_change ⇒ SubscriptionChangeApi
Access to subscription_change controller.
120 121 122 |
# File 'lib/api_reference/client.rb', line 120 def subscription_change @subscription_change ||= SubscriptionChangeApi.new @global_configuration end |
#user_agent_detail ⇒ Object
12 13 14 |
# File 'lib/api_reference/client.rb', line 12 def user_agent_detail config.user_agent_detail end |