Class: Dinie::Client
- Inherits:
-
Object
- Object
- Dinie::Client
- Defined in:
- lib/dinie/generated/client.rb
Constant Summary collapse
- DEFAULT_TIMEOUT_SECONDS =
Internal::HttpClient::DEFAULT_TIMEOUT_SECONDS
- DEFAULT_MAX_RETRIES =
Internal::HttpClient::DEFAULT_MAX_RETRIES
Instance Method Summary collapse
- #banks ⇒ Object
- #biometrics ⇒ Object
- #credentials ⇒ Object
- #credit_offers ⇒ Object
- #customers ⇒ Object
-
#initialize(client_id: nil, client_secret: nil, code: nil, base_url: nil, timeout: DEFAULT_TIMEOUT_SECONDS, max_retries: DEFAULT_MAX_RETRIES, idempotency: true, log_level: :off, logger: nil, adapter: nil, token_manager: nil, connection: nil) ⇒ Client
constructor
A new instance of Client.
- #loans ⇒ Object
- #rate_limit ⇒ Object
- #webhook_endpoints ⇒ Object
- #with_options(**overrides) ⇒ Object
Constructor Details
#initialize(client_id: nil, client_secret: nil, code: nil, base_url: nil, timeout: DEFAULT_TIMEOUT_SECONDS, max_retries: DEFAULT_MAX_RETRIES, idempotency: true, log_level: :off, logger: nil, adapter: nil, token_manager: nil, connection: nil) ⇒ Client
Returns a new instance of Client.
12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
# File 'lib/dinie/generated/client.rb', line 12 def initialize(client_id: nil, client_secret: nil, code: nil, base_url: nil, timeout: DEFAULT_TIMEOUT_SECONDS, max_retries: DEFAULT_MAX_RETRIES, idempotency: true, log_level: :off, logger: nil, adapter: nil, token_manager: nil, connection: nil) @base_url = first_present(base_url, ENV.fetch("DINIE_BASE_URL", nil)) || Internal::HttpClient::DEFAULT_BASE_URL @options = { timeout: timeout, max_retries: max_retries, idempotency: idempotency, log_level: log_level, logger: logger, adapter: adapter } @connection = connection || build_connection(log_level: log_level, logger: logger, adapter: adapter) @token_manager = token_manager || build_token_manager(client_id, client_secret, code) @http = Internal::HttpClient.new( token_manager: @token_manager, base_url: @base_url, timeout: timeout, max_retries: max_retries, idempotency: idempotency, connection: @connection ) end |
Instance Method Details
#banks ⇒ Object
29 30 31 |
# File 'lib/dinie/generated/client.rb', line 29 def banks @banks ||= Resources::Banks.new(@http) end |
#biometrics ⇒ Object
33 34 35 |
# File 'lib/dinie/generated/client.rb', line 33 def biometrics @biometrics ||= Resources::Biometrics.new(@http) end |
#credentials ⇒ Object
37 38 39 |
# File 'lib/dinie/generated/client.rb', line 37 def credentials @credentials ||= Resources::Credentials.new(@http) end |
#credit_offers ⇒ Object
41 42 43 |
# File 'lib/dinie/generated/client.rb', line 41 def credit_offers @credit_offers ||= Resources::CreditOffers.new(@http) end |
#customers ⇒ Object
45 46 47 |
# File 'lib/dinie/generated/client.rb', line 45 def customers @customers ||= Resources::Customers.new(@http) end |
#loans ⇒ Object
49 50 51 |
# File 'lib/dinie/generated/client.rb', line 49 def loans @loans ||= Resources::Loans.new(@http) end |
#rate_limit ⇒ Object
57 58 59 |
# File 'lib/dinie/generated/client.rb', line 57 def rate_limit @http.rate_limit end |
#webhook_endpoints ⇒ Object
53 54 55 |
# File 'lib/dinie/generated/client.rb', line 53 def webhook_endpoints @webhook_endpoints ||= Resources::WebhookEndpoints.new(@http) end |
#with_options(**overrides) ⇒ Object
61 62 63 64 65 66 |
# File 'lib/dinie/generated/client.rb', line 61 def (**overrides) self.class.new( base_url: @base_url, token_manager: @token_manager, connection: @connection, **@options.merge(overrides) ) end |