Class: AdvancedBilling::Configuration
- Inherits:
-
CoreLibrary::HttpClientConfiguration
- Object
- CoreLibrary::HttpClientConfiguration
- AdvancedBilling::Configuration
- Defined in:
- lib/advanced_billing/configuration.rb
Overview
All configuration including auth info and base URI for the API access are configured in this class.
Constant Summary collapse
- ENVIRONMENTS =
All the environments the SDK can run in.
{ Environment::US => { Server::PRODUCTION => 'https://{site}.chargify.com', Server::EBB => 'https://events.chargify.com/{site}' }, Environment::EU => { Server::PRODUCTION => 'https://{site}.ebilling.maxio.com', Server::EBB => 'https://events.chargify.com/{site}' } }.freeze
Class Attribute Summary collapse
-
.environments ⇒ Object
readonly
Returns the value of attribute environments.
Instance Attribute Summary collapse
-
#basic_auth_credentials ⇒ Object
readonly
The attribute readers for properties.
-
#environment ⇒ Object
readonly
The attribute readers for properties.
-
#site ⇒ Object
readonly
The attribute readers for properties.
Instance Method Summary collapse
- #clone_with(connection: nil, adapter: nil, timeout: nil, max_retries: nil, retry_interval: nil, backoff_factor: nil, retry_statuses: nil, retry_methods: nil, http_callback: nil, environment: nil, site: nil, basic_auth_credentials: nil) ⇒ Object
-
#get_base_uri(server = Server::PRODUCTION) ⇒ String
Generates the appropriate base URI for the environment and the server.
-
#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, environment: Environment::US, site: 'subdomain', basic_auth_credentials: nil) ⇒ Configuration
constructor
A new instance of Configuration.
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, environment: Environment::US, site: 'subdomain', basic_auth_credentials: nil) ⇒ Configuration
35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 |
# File 'lib/advanced_billing/configuration.rb', line 35 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, environment: Environment::US, site: 'subdomain', basic_auth_credentials: nil ) super 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 # Current API environment @environment = String(environment) # The subdomain for your Advanced Billing site. @site = site # The object holding Basic Authentication credentials @basic_auth_credentials = basic_auth_credentials # Initializing Basic Authentication credentials with the provided auth parameters @basic_auth_credentials = basic_auth_credentials # The Http Client to use for making requests. set_http_client CoreLibrary::FaradayClient.new(self) end |
Class Attribute Details
.environments ⇒ Object (readonly)
Returns the value of attribute environments.
32 33 34 |
# File 'lib/advanced_billing/configuration.rb', line 32 def environments @environments end |
Instance Attribute Details
#basic_auth_credentials ⇒ Object (readonly)
The attribute readers for properties.
29 30 31 |
# File 'lib/advanced_billing/configuration.rb', line 29 def basic_auth_credentials @basic_auth_credentials end |
#environment ⇒ Object (readonly)
The attribute readers for properties.
29 30 31 |
# File 'lib/advanced_billing/configuration.rb', line 29 def environment @environment end |
#site ⇒ Object (readonly)
The attribute readers for properties.
29 30 31 |
# File 'lib/advanced_billing/configuration.rb', line 29 def site @site end |
Instance Method Details
#clone_with(connection: nil, adapter: nil, timeout: nil, max_retries: nil, retry_interval: nil, backoff_factor: nil, retry_statuses: nil, retry_methods: nil, http_callback: nil, environment: nil, site: nil, basic_auth_credentials: nil) ⇒ Object
65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 |
# File 'lib/advanced_billing/configuration.rb', line 65 def clone_with(connection: nil, adapter: nil, timeout: nil, max_retries: nil, retry_interval: nil, backoff_factor: nil, retry_statuses: nil, retry_methods: nil, http_callback: nil, environment: nil, site: nil, basic_auth_credentials: nil) connection ||= self.connection adapter ||= self.adapter timeout ||= self.timeout max_retries ||= self.max_retries retry_interval ||= self.retry_interval backoff_factor ||= self.backoff_factor retry_statuses ||= self.retry_statuses retry_methods ||= self.retry_methods http_callback ||= self.http_callback environment ||= self.environment site ||= self.site basic_auth_credentials ||= basic_auth_credentials 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, site: site, basic_auth_credentials: basic_auth_credentials) end |
#get_base_uri(server = Server::PRODUCTION) ⇒ String
Generates the appropriate base URI for the environment and the server. required.
110 111 112 113 114 115 116 117 |
# File 'lib/advanced_billing/configuration.rb', line 110 def get_base_uri(server = Server::PRODUCTION) parameters = { 'site' => { 'value' => site, 'encode' => false } } APIHelper.append_url_with_template_parameters( ENVIRONMENTS[environment][server], parameters ) end |