Class: Plaid::Client
- Inherits:
-
Object
- Object
- Plaid::Client
- Includes:
- CoreLibrary
- Defined in:
- lib/plaid/client.rb
Overview
plaid 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
-
#accounts ⇒ AccountsApi
Access to accounts controller.
-
#application ⇒ ApplicationApi
Access to application controller.
-
#asset_report ⇒ AssetReportApi
Access to asset_report controller.
-
#auth ⇒ AuthApi
Access to auth controller.
-
#bank_transfer ⇒ BankTransferApi
Access to bank_transfer controller.
-
#categories ⇒ CategoriesApi
Access to categories controller.
-
#deposit_switch ⇒ DepositSwitchApi
Access to deposit_switch controller.
-
#employers ⇒ EmployersApi
Access to employers controller.
-
#identity ⇒ IdentityApi
Access to identity controller.
-
#income ⇒ IncomeApi
Access to income 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, plaid_client_id_credentials: nil, plaid_secret_credentials: nil, plaid_version_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.
-
#institutions ⇒ InstitutionsApi
Access to institutions controller.
-
#investments ⇒ InvestmentsApi
Access to investments controller.
-
#item ⇒ ItemApi
Access to item controller.
-
#liabilities ⇒ LiabilitiesApi
Access to liabilities controller.
-
#link ⇒ LinkApi
Access to link controller.
-
#payment_initiation ⇒ PaymentInitiationApi
Access to payment_initiation controller.
-
#processor ⇒ ProcessorApi
Access to processor controller.
-
#sandbox ⇒ SandboxApi
Access to sandbox controller.
-
#signal ⇒ SignalApi
Access to signal controller.
-
#transactions ⇒ TransactionsApi
Access to transactions controller.
-
#transfer ⇒ TransferApi
Access to transfer controller.
- #user_agent_detail ⇒ Object
-
#webhook_verification_key ⇒ WebhookVerificationKeyApi
Access to webhook_verification_key controller.
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, plaid_client_id_credentials: nil, plaid_secret_credentials: nil, plaid_version_credentials: nil, config: nil) ⇒ Client
Returns a new instance of Client.
148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 |
# File 'lib/plaid/client.rb', line 148 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, plaid_client_id_credentials: nil, plaid_secret_credentials: nil, plaid_version_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, plaid_client_id_credentials: plaid_client_id_credentials, plaid_secret_credentials: plaid_secret_credentials, plaid_version_credentials: plaid_version_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/plaid/client.rb', line 10 def auth_managers @auth_managers end |
#config ⇒ Object (readonly)
Returns the value of attribute config.
10 11 12 |
# File 'lib/plaid/client.rb', line 10 def config @config end |
Class Method Details
.from_env(**overrides) ⇒ Object
Creates a client directly from environment variables.
202 203 204 205 206 |
# File 'lib/plaid/client.rb', line 202 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
#accounts ⇒ AccountsApi
Access to accounts controller.
66 67 68 |
# File 'lib/plaid/client.rb', line 66 def accounts @accounts ||= AccountsApi.new @global_configuration end |
#application ⇒ ApplicationApi
Access to application controller.
60 61 62 |
# File 'lib/plaid/client.rb', line 60 def application @application ||= ApplicationApi.new @global_configuration end |
#asset_report ⇒ AssetReportApi
Access to asset_report controller.
24 25 26 |
# File 'lib/plaid/client.rb', line 24 def asset_report @asset_report ||= AssetReportApi.new @global_configuration end |
#auth ⇒ AuthApi
Access to auth controller.
84 85 86 |
# File 'lib/plaid/client.rb', line 84 def auth @auth ||= AuthApi.new @global_configuration end |
#bank_transfer ⇒ BankTransferApi
Access to bank_transfer controller.
126 127 128 |
# File 'lib/plaid/client.rb', line 126 def bank_transfer @bank_transfer ||= BankTransferApi.new @global_configuration end |
#categories ⇒ CategoriesApi
Access to categories controller.
96 97 98 |
# File 'lib/plaid/client.rb', line 96 def categories @categories ||= CategoriesApi.new @global_configuration end |
#deposit_switch ⇒ DepositSwitchApi
Access to deposit_switch controller.
108 109 110 |
# File 'lib/plaid/client.rb', line 108 def deposit_switch @deposit_switch ||= DepositSwitchApi.new @global_configuration end |
#employers ⇒ EmployersApi
Access to employers controller.
132 133 134 |
# File 'lib/plaid/client.rb', line 132 def employers @employers ||= EmployersApi.new @global_configuration end |
#identity ⇒ IdentityApi
Access to identity controller.
72 73 74 |
# File 'lib/plaid/client.rb', line 72 def identity @identity ||= IdentityApi.new @global_configuration end |
#income ⇒ IncomeApi
Access to income controller.
138 139 140 |
# File 'lib/plaid/client.rb', line 138 def income @income ||= IncomeApi.new @global_configuration end |
#initialize_auth_managers(global_config) ⇒ Object
Initializes the auth managers hash used for authenticating API calls.
188 189 190 191 192 193 194 195 196 197 198 199 |
# File 'lib/plaid/client.rb', line 188 def initialize_auth_managers(global_config) @auth_managers = {} http_client_config = global_config.client_configuration %w[PLAID-CLIENT-ID PLAID-SECRET Plaid-Version].each { |auth| @auth_managers[auth] = nil } @auth_managers['PLAID-CLIENT-ID'] = PlaidClientId.new( http_client_config.plaid_client_id_credentials ) @auth_managers['PLAID-SECRET'] = PlaidSecret.new(http_client_config.plaid_secret_credentials) @auth_managers['Plaid-Version'] = PlaidVersion.new( http_client_config.plaid_version_credentials ) end |
#institutions ⇒ InstitutionsApi
Access to institutions controller.
54 55 56 |
# File 'lib/plaid/client.rb', line 54 def institutions @institutions ||= InstitutionsApi.new @global_configuration end |
#investments ⇒ InvestmentsApi
Access to investments controller.
48 49 50 |
# File 'lib/plaid/client.rb', line 48 def investments @investments ||= InvestmentsApi.new @global_configuration end |
#item ⇒ ItemApi
Access to item controller.
18 19 20 |
# File 'lib/plaid/client.rb', line 18 def item @item ||= ItemApi.new @global_configuration end |
#liabilities ⇒ LiabilitiesApi
Access to liabilities controller.
78 79 80 |
# File 'lib/plaid/client.rb', line 78 def liabilities @liabilities ||= LiabilitiesApi.new @global_configuration end |
#link ⇒ LinkApi
Access to link controller.
114 115 116 |
# File 'lib/plaid/client.rb', line 114 def link @link ||= LinkApi.new @global_configuration end |
#payment_initiation ⇒ PaymentInitiationApi
Access to payment_initiation controller.
36 37 38 |
# File 'lib/plaid/client.rb', line 36 def payment_initiation @payment_initiation ||= PaymentInitiationApi.new @global_configuration end |
#processor ⇒ ProcessorApi
Access to processor controller.
30 31 32 |
# File 'lib/plaid/client.rb', line 30 def processor @processor ||= ProcessorApi.new @global_configuration end |
#sandbox ⇒ SandboxApi
Access to sandbox controller.
42 43 44 |
# File 'lib/plaid/client.rb', line 42 def sandbox @sandbox ||= SandboxApi.new @global_configuration end |
#signal ⇒ SignalApi
Access to signal controller.
144 145 146 |
# File 'lib/plaid/client.rb', line 144 def signal @signal ||= SignalApi.new @global_configuration end |
#transactions ⇒ TransactionsApi
Access to transactions controller.
90 91 92 |
# File 'lib/plaid/client.rb', line 90 def transactions @transactions ||= TransactionsApi.new @global_configuration end |
#transfer ⇒ TransferApi
Access to transfer controller.
120 121 122 |
# File 'lib/plaid/client.rb', line 120 def transfer @transfer ||= TransferApi.new @global_configuration end |
#user_agent_detail ⇒ Object
12 13 14 |
# File 'lib/plaid/client.rb', line 12 def user_agent_detail config.user_agent_detail end |
#webhook_verification_key ⇒ WebhookVerificationKeyApi
Access to webhook_verification_key controller.
102 103 104 |
# File 'lib/plaid/client.rb', line 102 def webhook_verification_key @webhook_verification_key ||= WebhookVerificationKeyApi.new @global_configuration end |