Class: Increase::Client

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

Constant Summary collapse

DEFAULT_MAX_RETRIES =

Default max number of retries to attempt after a failed retryable request.

2

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(environment: nil, base_url: nil, api_key: nil, max_retries: nil) ⇒ Client

Creates and returns a new client for interacting with the API.



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
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
# File 'lib/increase/client.rb', line 66

def initialize(environment: nil, base_url: nil, api_key: nil, max_retries: nil)
  environments = {"production" => "https://api.increase.com", "sandbox" => "https://sandbox.increase.com"}
  if environment && base_url
    raise ArgumentError, "both environment and base_url given, expected only one"
  elsif environment
    if !environments.key?(environment.to_s)
      raise ArgumentError, "environment must be one of #{environments.keys}, got #{environment}"
    end
    base_url = environments[environment.to_s]
  elsif !base_url
    base_url = "https://api.increase.com"
  end

  max_retries ||= DEFAULT_MAX_RETRIES
  idempotency_header = "Idempotency-Key"

  @api_key = [api_key, ENV["INCREASE_API_KEY"]].find { |v| !v.nil? }
  if @api_key.nil?
    raise ArgumentError, "api_key is required"
  end

  super(base_url: base_url, max_retries: max_retries, idempotency_header: idempotency_header)

  @accounts = Increase::Resources::Accounts.new(client: self)
  @account_numbers = Increase::Resources::AccountNumbers.new(client: self)
  @bookkeeping_accounts = Increase::Resources::BookkeepingAccounts.new(client: self)
  @bookkeeping_entry_sets = Increase::Resources::BookkeepingEntrySets.new(client: self)
  @bookkeeping_entries = Increase::Resources::BookkeepingEntries.new(client: self)
  @real_time_decisions = Increase::Resources::RealTimeDecisions.new(client: self)
  @real_time_payments_transfers = Increase::Resources::RealTimePaymentsTransfers.new(client: self)
  @cards = Increase::Resources::Cards.new(client: self)
  @card_disputes = Increase::Resources::CardDisputes.new(client: self)
  @card_purchase_supplements = Increase::Resources::CardPurchaseSupplements.new(client: self)
  @external_accounts = Increase::Resources::ExternalAccounts.new(client: self)
  @exports = Increase::Resources::Exports.new(client: self)
  @digital_wallet_tokens = Increase::Resources::DigitalWalletTokens.new(client: self)
  @transactions = Increase::Resources::Transactions.new(client: self)
  @pending_transactions = Increase::Resources::PendingTransactions.new(client: self)
  @programs = Increase::Resources::Programs.new(client: self)
  @declined_transactions = Increase::Resources::DeclinedTransactions.new(client: self)
  @account_transfers = Increase::Resources::AccountTransfers.new(client: self)
  @ach_transfers = Increase::Resources::ACHTransfers.new(client: self)
  @ach_prenotifications = Increase::Resources::ACHPrenotifications.new(client: self)
  @documents = Increase::Resources::Documents.new(client: self)
  @wire_transfers = Increase::Resources::WireTransfers.new(client: self)
  @check_transfers = Increase::Resources::CheckTransfers.new(client: self)
  @entities = Increase::Resources::Entities.new(client: self)
  @inbound_ach_transfers = Increase::Resources::InboundACHTransfers.new(client: self)
  @inbound_wire_drawdown_requests = Increase::Resources::InboundWireDrawdownRequests.new(client: self)
  @wire_drawdown_requests = Increase::Resources::WireDrawdownRequests.new(client: self)
  @events = Increase::Resources::Events.new(client: self)
  @event_subscriptions = Increase::Resources::EventSubscriptions.new(client: self)
  @files = Increase::Resources::Files.new(client: self)
  @groups = Increase::Resources::Groups.new(client: self)
  @oauth_connections = Increase::Resources::OAuthConnections.new(client: self)
  @check_deposits = Increase::Resources::CheckDeposits.new(client: self)
  @routing_numbers = Increase::Resources::RoutingNumbers.new(client: self)
  @account_statements = Increase::Resources::AccountStatements.new(client: self)
  @simulations = Increase::Resources::Simulations.new(client: self)
  @physical_cards = Increase::Resources::PhysicalCards.new(client: self)
  @card_payments = Increase::Resources::CardPayments.new(client: self)
  @proof_of_authorization_requests = Increase::Resources::ProofOfAuthorizationRequests.new(client: self)
  @proof_of_authorization_request_submissions = Increase::Resources::ProofOfAuthorizationRequestSubmissions.new(client: self)
  @intrafi = Increase::Resources::Intrafi.new(client: self)
  @real_time_payments_request_for_payments = Increase::Resources::RealTimePaymentsRequestForPayments.new(client: self)
  @oauth_tokens = Increase::Resources::OAuthTokens.new(client: self)
  @inbound_wire_transfers = Increase::Resources::InboundWireTransfers.new(client: self)
  @digital_card_profiles = Increase::Resources::DigitalCardProfiles.new(client: self)
  @physical_card_profiles = Increase::Resources::PhysicalCardProfiles.new(client: self)
  @inbound_check_deposits = Increase::Resources::InboundCheckDeposits.new(client: self)
end

Instance Attribute Details

#account_numbersObject (readonly)

Resources.



12
13
14
# File 'lib/increase/client.rb', line 12

def 
  @account_numbers
end

#account_statementsObject (readonly)

Resources.



12
13
14
# File 'lib/increase/client.rb', line 12

def 
  @account_statements
end

#account_transfersObject (readonly)

Resources.



12
13
14
# File 'lib/increase/client.rb', line 12

def 
  @account_transfers
end

#accountsObject (readonly)

Resources.



12
13
14
# File 'lib/increase/client.rb', line 12

def accounts
  @accounts
end

#ach_prenotificationsObject (readonly)

Resources.



12
13
14
# File 'lib/increase/client.rb', line 12

def ach_prenotifications
  @ach_prenotifications
end

#ach_transfersObject (readonly)

Resources.



12
13
14
# File 'lib/increase/client.rb', line 12

def ach_transfers
  @ach_transfers
end

#api_keyObject (readonly)

Client options.



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

def api_key
  @api_key
end

#bookkeeping_accountsObject (readonly)

Resources.



12
13
14
# File 'lib/increase/client.rb', line 12

def bookkeeping_accounts
  @bookkeeping_accounts
end

#bookkeeping_entriesObject (readonly)

Resources.



12
13
14
# File 'lib/increase/client.rb', line 12

def bookkeeping_entries
  @bookkeeping_entries
end

#bookkeeping_entry_setsObject (readonly)

Resources.



12
13
14
# File 'lib/increase/client.rb', line 12

def bookkeeping_entry_sets
  @bookkeeping_entry_sets
end

#card_disputesObject (readonly)

Resources.



12
13
14
# File 'lib/increase/client.rb', line 12

def card_disputes
  @card_disputes
end

#card_paymentsObject (readonly)

Resources.



12
13
14
# File 'lib/increase/client.rb', line 12

def card_payments
  @card_payments
end

#card_purchase_supplementsObject (readonly)

Resources.



12
13
14
# File 'lib/increase/client.rb', line 12

def card_purchase_supplements
  @card_purchase_supplements
end

#cardsObject (readonly)

Resources.



12
13
14
# File 'lib/increase/client.rb', line 12

def cards
  @cards
end

#check_depositsObject (readonly)

Resources.



12
13
14
# File 'lib/increase/client.rb', line 12

def check_deposits
  @check_deposits
end

#check_transfersObject (readonly)

Resources.



12
13
14
# File 'lib/increase/client.rb', line 12

def check_transfers
  @check_transfers
end

#declined_transactionsObject (readonly)

Resources.



12
13
14
# File 'lib/increase/client.rb', line 12

def declined_transactions
  @declined_transactions
end

#digital_card_profilesObject (readonly)

Resources.



12
13
14
# File 'lib/increase/client.rb', line 12

def digital_card_profiles
  @digital_card_profiles
end

#digital_wallet_tokensObject (readonly)

Resources.



12
13
14
# File 'lib/increase/client.rb', line 12

def digital_wallet_tokens
  @digital_wallet_tokens
end

#documentsObject (readonly)

Resources.



12
13
14
# File 'lib/increase/client.rb', line 12

def documents
  @documents
end

#entitiesObject (readonly)

Resources.



12
13
14
# File 'lib/increase/client.rb', line 12

def entities
  @entities
end

#event_subscriptionsObject (readonly)

Resources.



12
13
14
# File 'lib/increase/client.rb', line 12

def event_subscriptions
  @event_subscriptions
end

#eventsObject (readonly)

Resources.



12
13
14
# File 'lib/increase/client.rb', line 12

def events
  @events
end

#exportsObject (readonly)

Resources.



12
13
14
# File 'lib/increase/client.rb', line 12

def exports
  @exports
end

#external_accountsObject (readonly)

Resources.



12
13
14
# File 'lib/increase/client.rb', line 12

def external_accounts
  @external_accounts
end

#filesObject (readonly)

Resources.



12
13
14
# File 'lib/increase/client.rb', line 12

def files
  @files
end

#groupsObject (readonly)

Resources.



12
13
14
# File 'lib/increase/client.rb', line 12

def groups
  @groups
end

#inbound_ach_transfersObject (readonly)

Resources.



12
13
14
# File 'lib/increase/client.rb', line 12

def inbound_ach_transfers
  @inbound_ach_transfers
end

#inbound_check_depositsObject (readonly)

Resources.



12
13
14
# File 'lib/increase/client.rb', line 12

def inbound_check_deposits
  @inbound_check_deposits
end

#inbound_wire_drawdown_requestsObject (readonly)

Resources.



12
13
14
# File 'lib/increase/client.rb', line 12

def inbound_wire_drawdown_requests
  @inbound_wire_drawdown_requests
end

#inbound_wire_transfersObject (readonly)

Resources.



12
13
14
# File 'lib/increase/client.rb', line 12

def inbound_wire_transfers
  @inbound_wire_transfers
end

#intrafiObject (readonly)

Resources.



12
13
14
# File 'lib/increase/client.rb', line 12

def intrafi
  @intrafi
end

#oauth_connectionsObject (readonly)

Resources.



12
13
14
# File 'lib/increase/client.rb', line 12

def oauth_connections
  @oauth_connections
end

#oauth_tokensObject (readonly)

Resources.



12
13
14
# File 'lib/increase/client.rb', line 12

def oauth_tokens
  @oauth_tokens
end

#pending_transactionsObject (readonly)

Resources.



12
13
14
# File 'lib/increase/client.rb', line 12

def pending_transactions
  @pending_transactions
end

#physical_card_profilesObject (readonly)

Resources.



12
13
14
# File 'lib/increase/client.rb', line 12

def physical_card_profiles
  @physical_card_profiles
end

#physical_cardsObject (readonly)

Resources.



12
13
14
# File 'lib/increase/client.rb', line 12

def physical_cards
  @physical_cards
end

#programsObject (readonly)

Resources.



12
13
14
# File 'lib/increase/client.rb', line 12

def programs
  @programs
end

#proof_of_authorization_request_submissionsObject (readonly)

Resources.



12
13
14
# File 'lib/increase/client.rb', line 12

def proof_of_authorization_request_submissions
  @proof_of_authorization_request_submissions
end

#proof_of_authorization_requestsObject (readonly)

Resources.



12
13
14
# File 'lib/increase/client.rb', line 12

def proof_of_authorization_requests
  @proof_of_authorization_requests
end

#real_time_decisionsObject (readonly)

Resources.



12
13
14
# File 'lib/increase/client.rb', line 12

def real_time_decisions
  @real_time_decisions
end

#real_time_payments_request_for_paymentsObject (readonly)

Resources.



12
13
14
# File 'lib/increase/client.rb', line 12

def real_time_payments_request_for_payments
  @real_time_payments_request_for_payments
end

#real_time_payments_transfersObject (readonly)

Resources.



12
13
14
# File 'lib/increase/client.rb', line 12

def real_time_payments_transfers
  @real_time_payments_transfers
end

#routing_numbersObject (readonly)

Resources.



12
13
14
# File 'lib/increase/client.rb', line 12

def routing_numbers
  @routing_numbers
end

#simulationsObject (readonly)

Resources.



12
13
14
# File 'lib/increase/client.rb', line 12

def simulations
  @simulations
end

#transactionsObject (readonly)

Resources.



12
13
14
# File 'lib/increase/client.rb', line 12

def transactions
  @transactions
end

#wire_drawdown_requestsObject (readonly)

Resources.



12
13
14
# File 'lib/increase/client.rb', line 12

def wire_drawdown_requests
  @wire_drawdown_requests
end

#wire_transfersObject (readonly)

Resources.



12
13
14
# File 'lib/increase/client.rb', line 12

def wire_transfers
  @wire_transfers
end