Class: AdvancedBilling::Client

Inherits:
Object
  • Object
show all
Defined in:
lib/advanced_billing/client.rb

Overview

advanced_billing client class.

Instance Attribute Summary collapse

Instance Method Summary collapse

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, environment: Environment::PRODUCTION, subdomain: 'subdomain', domain: 'chargify.com', basic_auth_user_name: nil, basic_auth_password: nil, basic_auth_credentials: nil, config: nil) ⇒ Client

Returns a new instance of Client.



197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
# File 'lib/advanced_billing/client.rb', line 197

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,
  environment: Environment::PRODUCTION, subdomain: 'subdomain',
  domain: 'chargify.com', basic_auth_user_name: nil,
  basic_auth_password: nil, 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,
                environment: environment, subdomain: subdomain,
                domain: domain, basic_auth_user_name: basic_auth_user_name,
                basic_auth_password: basic_auth_password,
                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_managersObject (readonly)

Returns the value of attribute auth_managers.



9
10
11
# File 'lib/advanced_billing/client.rb', line 9

def auth_managers
  @auth_managers
end

#configObject (readonly)

Returns the value of attribute config.



9
10
11
# File 'lib/advanced_billing/client.rb', line 9

def config
  @config
end

Instance Method Details

#advance_invoiceAdvanceInvoiceController

Access to advance_invoice controller.

Returns:



19
20
21
# File 'lib/advanced_billing/client.rb', line 19

def advance_invoice
  @advance_invoice ||= AdvanceInvoiceController.new @global_configuration
end

#api_exportsAPIExportsController

Access to api_exports controller.

Returns:



13
14
15
# File 'lib/advanced_billing/client.rb', line 13

def api_exports
  @api_exports ||= APIExportsController.new @global_configuration
end

#billing_portalBillingPortalController

Access to billing_portal controller.

Returns:



25
26
27
# File 'lib/advanced_billing/client.rb', line 25

def billing_portal
  @billing_portal ||= BillingPortalController.new @global_configuration
end

#componentsComponentsController

Access to components controller.

Returns:



37
38
39
# File 'lib/advanced_billing/client.rb', line 37

def components
  @components ||= ComponentsController.new @global_configuration
end

#couponsCouponsController

Access to coupons controller.

Returns:



31
32
33
# File 'lib/advanced_billing/client.rb', line 31

def coupons
  @coupons ||= CouponsController.new @global_configuration
end

#custom_fieldsCustomFieldsController

Access to custom_fields controller.

Returns:



49
50
51
# File 'lib/advanced_billing/client.rb', line 49

def custom_fields
  @custom_fields ||= CustomFieldsController.new @global_configuration
end

#customersCustomersController

Access to customers controller.

Returns:



43
44
45
# File 'lib/advanced_billing/client.rb', line 43

def customers
  @customers ||= CustomersController.new @global_configuration
end

#eventsEventsController

Access to events controller.

Returns:



55
56
57
# File 'lib/advanced_billing/client.rb', line 55

def events
  @events ||= EventsController.new @global_configuration
end

#events_based_billing_segmentsEventsBasedBillingSegmentsController

Access to events_based_billing_segments controller.

Returns:



61
62
63
# File 'lib/advanced_billing/client.rb', line 61

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.

Parameters:

  • global_config (GlobalConfiguration)

    The global configuration of the SDK)



235
236
237
238
239
240
# File 'lib/advanced_billing/client.rb', line 235

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

#insightsInsightsController

Access to insights controller.

Returns:



67
68
69
# File 'lib/advanced_billing/client.rb', line 67

def insights
  @insights ||= InsightsController.new @global_configuration
end

#invoicesInvoicesController

Access to invoices controller.

Returns:



73
74
75
# File 'lib/advanced_billing/client.rb', line 73

def invoices
  @invoices ||= InvoicesController.new @global_configuration
end

#offersOffersController

Access to offers controller.

Returns:



79
80
81
# File 'lib/advanced_billing/client.rb', line 79

def offers
  @offers ||= OffersController.new @global_configuration
end

#payment_profilesPaymentProfilesController

Access to payment_profiles controller.

Returns:



85
86
87
# File 'lib/advanced_billing/client.rb', line 85

def payment_profiles
  @payment_profiles ||= PaymentProfilesController.new @global_configuration
end

#product_familiesProductFamiliesController

Access to product_families controller.

Returns:



91
92
93
# File 'lib/advanced_billing/client.rb', line 91

def product_families
  @product_families ||= ProductFamiliesController.new @global_configuration
end

#product_price_pointsProductPricePointsController

Access to product_price_points controller.

Returns:



103
104
105
# File 'lib/advanced_billing/client.rb', line 103

def product_price_points
  @product_price_points ||= ProductPricePointsController.new @global_configuration
end

#productsProductsController

Access to products controller.

Returns:



97
98
99
# File 'lib/advanced_billing/client.rb', line 97

def products
  @products ||= ProductsController.new @global_configuration
end

#proforma_invoicesProformaInvoicesController

Access to proforma_invoices controller.

Returns:



109
110
111
# File 'lib/advanced_billing/client.rb', line 109

def proforma_invoices
  @proforma_invoices ||= ProformaInvoicesController.new @global_configuration
end

#reason_codesReasonCodesController

Access to reason_codes controller.

Returns:



115
116
117
# File 'lib/advanced_billing/client.rb', line 115

def reason_codes
  @reason_codes ||= ReasonCodesController.new @global_configuration
end

#referral_codesReferralCodesController

Access to referral_codes controller.

Returns:



121
122
123
# File 'lib/advanced_billing/client.rb', line 121

def referral_codes
  @referral_codes ||= ReferralCodesController.new @global_configuration
end

#sales_commissionsSalesCommissionsController

Access to sales_commissions controller.

Returns:



127
128
129
# File 'lib/advanced_billing/client.rb', line 127

def sales_commissions
  @sales_commissions ||= SalesCommissionsController.new @global_configuration
end

#sitesSitesController

Access to sites controller.

Returns:



133
134
135
# File 'lib/advanced_billing/client.rb', line 133

def sites
  @sites ||= SitesController.new @global_configuration
end

#subscription_componentsSubscriptionComponentsController

Access to subscription_components controller.

Returns:



145
146
147
# File 'lib/advanced_billing/client.rb', line 145

def subscription_components
  @subscription_components ||= SubscriptionComponentsController.new @global_configuration
end

#subscription_group_invoice_accountSubscriptionGroupInvoiceAccountController

Access to subscription_group_invoice_account controller.

Returns:



157
158
159
# File 'lib/advanced_billing/client.rb', line 157

def 
  @subscription_group_invoice_account ||= SubscriptionGroupInvoiceAccountController.new @global_configuration
end

#subscription_group_statusSubscriptionGroupStatusController

Access to subscription_group_status controller.

Returns:



163
164
165
# File 'lib/advanced_billing/client.rb', line 163

def subscription_group_status
  @subscription_group_status ||= SubscriptionGroupStatusController.new @global_configuration
end

#subscription_groupsSubscriptionGroupsController

Access to subscription_groups controller.

Returns:



151
152
153
# File 'lib/advanced_billing/client.rb', line 151

def subscription_groups
  @subscription_groups ||= SubscriptionGroupsController.new @global_configuration
end

#subscription_invoice_accountSubscriptionInvoiceAccountController

Access to subscription_invoice_account controller.

Returns:



169
170
171
# File 'lib/advanced_billing/client.rb', line 169

def 
  @subscription_invoice_account ||= SubscriptionInvoiceAccountController.new @global_configuration
end

#subscription_notesSubscriptionNotesController

Access to subscription_notes controller.

Returns:



175
176
177
# File 'lib/advanced_billing/client.rb', line 175

def subscription_notes
  @subscription_notes ||= SubscriptionNotesController.new @global_configuration
end

#subscription_productsSubscriptionProductsController

Access to subscription_products controller.

Returns:



181
182
183
# File 'lib/advanced_billing/client.rb', line 181

def subscription_products
  @subscription_products ||= SubscriptionProductsController.new @global_configuration
end

#subscription_statusSubscriptionStatusController

Access to subscription_status controller.

Returns:



187
188
189
# File 'lib/advanced_billing/client.rb', line 187

def subscription_status
  @subscription_status ||= SubscriptionStatusController.new @global_configuration
end

#subscriptionsSubscriptionsController

Access to subscriptions controller.

Returns:



139
140
141
# File 'lib/advanced_billing/client.rb', line 139

def subscriptions
  @subscriptions ||= SubscriptionsController.new @global_configuration
end

#webhooksWebhooksController

Access to webhooks controller.

Returns:



193
194
195
# File 'lib/advanced_billing/client.rb', line 193

def webhooks
  @webhooks ||= WebhooksController.new @global_configuration
end