Class: AdvancedBilling::Client
- Inherits:
-
Object
- Object
- AdvancedBilling::Client
- Includes:
- CoreLibrary
- Defined in:
- lib/advanced_billing/client.rb
Overview
advanced_billing 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
-
#advance_invoice ⇒ AdvanceInvoiceController
Access to advance_invoice controller.
-
#api_exports ⇒ APIExportsController
Access to api_exports controller.
-
#billing_portal ⇒ BillingPortalController
Access to billing_portal controller.
-
#component_price_points ⇒ ComponentPricePointsController
Access to component_price_points controller.
-
#components ⇒ ComponentsController
Access to components controller.
-
#coupons ⇒ CouponsController
Access to coupons controller.
-
#custom_fields ⇒ CustomFieldsController
Access to custom_fields controller.
-
#customers ⇒ CustomersController
Access to customers controller.
-
#events ⇒ EventsController
Access to events controller.
-
#events_based_billing_segments ⇒ EventsBasedBillingSegmentsController
Access to events_based_billing_segments controller.
-
#initialize(connection: nil, adapter: :net_http_persistent, timeout: 120, 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, environment: Environment::US, site: 'subdomain', basic_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.
-
#insights ⇒ InsightsController
Access to insights controller.
-
#invoices ⇒ InvoicesController
Access to invoices controller.
-
#offers ⇒ OffersController
Access to offers controller.
-
#payment_profiles ⇒ PaymentProfilesController
Access to payment_profiles controller.
-
#product_families ⇒ ProductFamiliesController
Access to product_families controller.
-
#product_price_points ⇒ ProductPricePointsController
Access to product_price_points controller.
-
#products ⇒ ProductsController
Access to products controller.
-
#proforma_invoices ⇒ ProformaInvoicesController
Access to proforma_invoices controller.
-
#reason_codes ⇒ ReasonCodesController
Access to reason_codes controller.
-
#referral_codes ⇒ ReferralCodesController
Access to referral_codes controller.
-
#sales_commissions ⇒ SalesCommissionsController
Access to sales_commissions controller.
-
#sites ⇒ SitesController
Access to sites controller.
-
#subscription_components ⇒ SubscriptionComponentsController
Access to subscription_components controller.
-
#subscription_group_invoice_account ⇒ SubscriptionGroupInvoiceAccountController
Access to subscription_group_invoice_account controller.
-
#subscription_group_status ⇒ SubscriptionGroupStatusController
Access to subscription_group_status controller.
-
#subscription_groups ⇒ SubscriptionGroupsController
Access to subscription_groups controller.
-
#subscription_invoice_account ⇒ SubscriptionInvoiceAccountController
Access to subscription_invoice_account controller.
-
#subscription_notes ⇒ SubscriptionNotesController
Access to subscription_notes controller.
-
#subscription_products ⇒ SubscriptionProductsController
Access to subscription_products controller.
-
#subscription_status ⇒ SubscriptionStatusController
Access to subscription_status controller.
-
#subscriptions ⇒ SubscriptionsController
Access to subscriptions controller.
- #user_agent_detail ⇒ Object
-
#webhooks ⇒ WebhooksController
Access to webhooks controller.
Constructor Details
#initialize(connection: nil, adapter: :net_http_persistent, timeout: 120, 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, environment: Environment::US, site: 'subdomain', basic_auth_credentials: nil, config: nil) ⇒ Client
Returns a new instance of Client.
208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 |
# File 'lib/advanced_billing/client.rb', line 208 def initialize( connection: nil, adapter: :net_http_persistent, timeout: 120, 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, environment: Environment::US, site: 'subdomain', basic_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, environment: environment, site: site, basic_auth_credentials: basic_auth_credentials ) else config end user_agent_params = BaseController.user_agent_parameters @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, 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/advanced_billing/client.rb', line 10 def auth_managers @auth_managers end |
#config ⇒ Object (readonly)
Returns the value of attribute config.
10 11 12 |
# File 'lib/advanced_billing/client.rb', line 10 def config @config end |
Class Method Details
.from_env(**overrides) ⇒ Object
Creates a client directly from environment variables.
251 252 253 254 255 |
# File 'lib/advanced_billing/client.rb', line 251 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
#advance_invoice ⇒ AdvanceInvoiceController
Access to advance_invoice controller.
24 25 26 |
# File 'lib/advanced_billing/client.rb', line 24 def advance_invoice @advance_invoice ||= AdvanceInvoiceController.new @global_configuration end |
#api_exports ⇒ APIExportsController
Access to api_exports controller.
18 19 20 |
# File 'lib/advanced_billing/client.rb', line 18 def api_exports @api_exports ||= APIExportsController.new @global_configuration end |
#billing_portal ⇒ BillingPortalController
Access to billing_portal controller.
30 31 32 |
# File 'lib/advanced_billing/client.rb', line 30 def billing_portal @billing_portal ||= BillingPortalController.new @global_configuration end |
#component_price_points ⇒ ComponentPricePointsController
Access to component_price_points controller.
48 49 50 |
# File 'lib/advanced_billing/client.rb', line 48 def component_price_points @component_price_points ||= ComponentPricePointsController.new @global_configuration end |
#components ⇒ ComponentsController
Access to components controller.
42 43 44 |
# File 'lib/advanced_billing/client.rb', line 42 def components @components ||= ComponentsController.new @global_configuration end |
#coupons ⇒ CouponsController
Access to coupons controller.
36 37 38 |
# File 'lib/advanced_billing/client.rb', line 36 def coupons @coupons ||= CouponsController.new @global_configuration end |
#custom_fields ⇒ CustomFieldsController
Access to custom_fields controller.
60 61 62 |
# File 'lib/advanced_billing/client.rb', line 60 def custom_fields @custom_fields ||= CustomFieldsController.new @global_configuration end |
#customers ⇒ CustomersController
Access to customers controller.
54 55 56 |
# File 'lib/advanced_billing/client.rb', line 54 def customers @customers ||= CustomersController.new @global_configuration end |
#events ⇒ EventsController
Access to events controller.
66 67 68 |
# File 'lib/advanced_billing/client.rb', line 66 def events @events ||= EventsController.new @global_configuration end |
#events_based_billing_segments ⇒ EventsBasedBillingSegmentsController
Access to events_based_billing_segments controller.
72 73 74 |
# File 'lib/advanced_billing/client.rb', line 72 def events_based_billing_segments @events_based_billing_segments ||= EventsBasedBillingSegmentsController.new @global_configuration end |
#initialize_auth_managers(global_config) ⇒ Object
Initializes the auth managers hash used for authenticating API calls.
243 244 245 246 247 248 |
# File 'lib/advanced_billing/client.rb', line 243 def initialize_auth_managers(global_config) @auth_managers = {} http_client_config = global_config.client_configuration %w[BasicAuth].each { |auth| @auth_managers[auth] = nil } @auth_managers['BasicAuth'] = BasicAuth.new(http_client_config.basic_auth_credentials) end |
#insights ⇒ InsightsController
Access to insights controller.
78 79 80 |
# File 'lib/advanced_billing/client.rb', line 78 def insights @insights ||= InsightsController.new @global_configuration end |
#invoices ⇒ InvoicesController
Access to invoices controller.
84 85 86 |
# File 'lib/advanced_billing/client.rb', line 84 def invoices @invoices ||= InvoicesController.new @global_configuration end |
#offers ⇒ OffersController
Access to offers controller.
90 91 92 |
# File 'lib/advanced_billing/client.rb', line 90 def offers @offers ||= OffersController.new @global_configuration end |
#payment_profiles ⇒ PaymentProfilesController
Access to payment_profiles controller.
96 97 98 |
# File 'lib/advanced_billing/client.rb', line 96 def payment_profiles @payment_profiles ||= PaymentProfilesController.new @global_configuration end |
#product_families ⇒ ProductFamiliesController
Access to product_families controller.
102 103 104 |
# File 'lib/advanced_billing/client.rb', line 102 def product_families @product_families ||= ProductFamiliesController.new @global_configuration end |
#product_price_points ⇒ ProductPricePointsController
Access to product_price_points controller.
114 115 116 |
# File 'lib/advanced_billing/client.rb', line 114 def product_price_points @product_price_points ||= ProductPricePointsController.new @global_configuration end |
#products ⇒ ProductsController
Access to products controller.
108 109 110 |
# File 'lib/advanced_billing/client.rb', line 108 def products @products ||= ProductsController.new @global_configuration end |
#proforma_invoices ⇒ ProformaInvoicesController
Access to proforma_invoices controller.
120 121 122 |
# File 'lib/advanced_billing/client.rb', line 120 def proforma_invoices @proforma_invoices ||= ProformaInvoicesController.new @global_configuration end |
#reason_codes ⇒ ReasonCodesController
Access to reason_codes controller.
126 127 128 |
# File 'lib/advanced_billing/client.rb', line 126 def reason_codes @reason_codes ||= ReasonCodesController.new @global_configuration end |
#referral_codes ⇒ ReferralCodesController
Access to referral_codes controller.
132 133 134 |
# File 'lib/advanced_billing/client.rb', line 132 def referral_codes @referral_codes ||= ReferralCodesController.new @global_configuration end |
#sales_commissions ⇒ SalesCommissionsController
Access to sales_commissions controller.
138 139 140 |
# File 'lib/advanced_billing/client.rb', line 138 def sales_commissions @sales_commissions ||= SalesCommissionsController.new @global_configuration end |
#sites ⇒ SitesController
Access to sites controller.
144 145 146 |
# File 'lib/advanced_billing/client.rb', line 144 def sites @sites ||= SitesController.new @global_configuration end |
#subscription_components ⇒ SubscriptionComponentsController
Access to subscription_components controller.
156 157 158 |
# File 'lib/advanced_billing/client.rb', line 156 def subscription_components @subscription_components ||= SubscriptionComponentsController.new @global_configuration end |
#subscription_group_invoice_account ⇒ SubscriptionGroupInvoiceAccountController
Access to subscription_group_invoice_account controller.
168 169 170 |
# File 'lib/advanced_billing/client.rb', line 168 def subscription_group_invoice_account @subscription_group_invoice_account ||= SubscriptionGroupInvoiceAccountController.new @global_configuration end |
#subscription_group_status ⇒ SubscriptionGroupStatusController
Access to subscription_group_status controller.
174 175 176 |
# File 'lib/advanced_billing/client.rb', line 174 def subscription_group_status @subscription_group_status ||= SubscriptionGroupStatusController.new @global_configuration end |
#subscription_groups ⇒ SubscriptionGroupsController
Access to subscription_groups controller.
162 163 164 |
# File 'lib/advanced_billing/client.rb', line 162 def subscription_groups @subscription_groups ||= SubscriptionGroupsController.new @global_configuration end |
#subscription_invoice_account ⇒ SubscriptionInvoiceAccountController
Access to subscription_invoice_account controller.
180 181 182 |
# File 'lib/advanced_billing/client.rb', line 180 def subscription_invoice_account @subscription_invoice_account ||= SubscriptionInvoiceAccountController.new @global_configuration end |
#subscription_notes ⇒ SubscriptionNotesController
Access to subscription_notes controller.
186 187 188 |
# File 'lib/advanced_billing/client.rb', line 186 def subscription_notes @subscription_notes ||= SubscriptionNotesController.new @global_configuration end |
#subscription_products ⇒ SubscriptionProductsController
Access to subscription_products controller.
192 193 194 |
# File 'lib/advanced_billing/client.rb', line 192 def subscription_products @subscription_products ||= SubscriptionProductsController.new @global_configuration end |
#subscription_status ⇒ SubscriptionStatusController
Access to subscription_status controller.
198 199 200 |
# File 'lib/advanced_billing/client.rb', line 198 def subscription_status @subscription_status ||= SubscriptionStatusController.new @global_configuration end |
#subscriptions ⇒ SubscriptionsController
Access to subscriptions controller.
150 151 152 |
# File 'lib/advanced_billing/client.rb', line 150 def subscriptions @subscriptions ||= SubscriptionsController.new @global_configuration end |
#user_agent_detail ⇒ Object
12 13 14 |
# File 'lib/advanced_billing/client.rb', line 12 def user_agent_detail config.user_agent_detail end |
#webhooks ⇒ WebhooksController
Access to webhooks controller.
204 205 206 |
# File 'lib/advanced_billing/client.rb', line 204 def webhooks @webhooks ||= WebhooksController.new @global_configuration end |