increase 0.1.2 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (44) hide show
  1. checksums.yaml +4 -4
  2. data/OPENAPI_VERSION +1 -0
  3. data/README.md +174 -45
  4. data/bin/generate +152 -0
  5. data/bin/setup +8 -0
  6. data/generate/resource.rb.erb +18 -0
  7. data/lib/increase/client.rb +2 -0
  8. data/lib/increase/configuration.rb +1 -1
  9. data/lib/increase/resource.rb +85 -119
  10. data/lib/increase/resources/account_numbers.rb +7 -0
  11. data/lib/increase/resources/account_statements.rb +15 -0
  12. data/lib/increase/resources/account_transfers.rb +10 -2
  13. data/lib/increase/resources/accounts.rb +9 -1
  14. data/lib/increase/resources/ach_prenotifications.rb +17 -0
  15. data/lib/increase/resources/ach_transfers.rb +10 -2
  16. data/lib/increase/resources/card_disputes.rb +17 -0
  17. data/lib/increase/resources/card_profiles.rb +17 -0
  18. data/lib/increase/resources/cards.rb +9 -1
  19. data/lib/increase/resources/check_deposits.rb +17 -0
  20. data/lib/increase/resources/check_transfers.rb +23 -0
  21. data/lib/increase/resources/declined_transactions.rb +15 -0
  22. data/lib/increase/resources/digital_wallet_tokens.rb +15 -0
  23. data/lib/increase/resources/documents.rb +15 -0
  24. data/lib/increase/resources/entities.rb +19 -0
  25. data/lib/increase/resources/event_subscriptions.rb +19 -0
  26. data/lib/increase/resources/events.rb +5 -0
  27. data/lib/increase/resources/external_accounts.rb +19 -0
  28. data/lib/increase/resources/files.rb +17 -0
  29. data/lib/increase/resources/groups.rb +13 -0
  30. data/lib/increase/resources/inbound_ach_transfer_returns.rb +17 -0
  31. data/lib/increase/resources/inbound_wire_drawdown_requests.rb +15 -0
  32. data/lib/increase/resources/limits.rb +19 -0
  33. data/lib/increase/resources/oauth_connections.rb +15 -0
  34. data/lib/increase/resources/pending_transactions.rb +5 -0
  35. data/lib/increase/resources/real_time_decisions.rb +15 -0
  36. data/lib/increase/resources/routing_numbers.rb +13 -0
  37. data/lib/increase/resources/transactions.rb +5 -0
  38. data/lib/increase/resources/wire_drawdown_requests.rb +17 -0
  39. data/lib/increase/resources/wire_transfers.rb +21 -0
  40. data/lib/increase/response_array.rb +19 -0
  41. data/lib/increase/version.rb +1 -1
  42. data/lib/increase/webhook/signature.rb +9 -1
  43. data/openapi.json +32098 -0
  44. metadata +62 -6
@@ -0,0 +1,17 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "increase/resource"
4
+
5
+ module Increase
6
+ class InboundAchTransferReturns < Resource
7
+ NAME = "Inbound ACH Transfer Returns"
8
+ API_NAME = "inbound_ach_transfer_returns"
9
+
10
+ # Create an ACH Return
11
+ create
12
+ # List Inbound ACH Transfer Returns
13
+ list
14
+ # Retrieve an Inbound ACH Transfer Return
15
+ retrieve
16
+ end
17
+ end
@@ -0,0 +1,15 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "increase/resource"
4
+
5
+ module Increase
6
+ class InboundWireDrawdownRequests < Resource
7
+ NAME = "Inbound Wire Drawdown Requests"
8
+ API_NAME = "inbound_wire_drawdown_requests"
9
+
10
+ # List Inbound Wire Drawdown Requests
11
+ list
12
+ # Retrieve an Inbound Wire Drawdown Request
13
+ retrieve
14
+ end
15
+ end
@@ -0,0 +1,19 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "increase/resource"
4
+
5
+ module Increase
6
+ class Limits < Resource
7
+ NAME = "Limits"
8
+ API_NAME = "limits"
9
+
10
+ # Create a Limit
11
+ create
12
+ # List Limits
13
+ list
14
+ # Update a Limit
15
+ update
16
+ # Retrieve a Limit
17
+ retrieve
18
+ end
19
+ end
@@ -0,0 +1,15 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "increase/resource"
4
+
5
+ module Increase
6
+ class OauthConnections < Resource
7
+ NAME = "OAuth Connections"
8
+ API_NAME = "oauth_connections"
9
+
10
+ # List OAuth Connections
11
+ list
12
+ # Retrieve an OAuth Connection
13
+ retrieve
14
+ end
15
+ end
@@ -4,7 +4,12 @@ require "increase/resource"
4
4
 
5
5
  module Increase
6
6
  class PendingTransactions < Resource
7
+ NAME = "Pending Transactions"
8
+ API_NAME = "pending_transactions"
9
+
10
+ # List Pending Transactions
7
11
  list
12
+ # Retrieve a Pending Transaction
8
13
  retrieve
9
14
  end
10
15
  end
@@ -0,0 +1,15 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "increase/resource"
4
+
5
+ module Increase
6
+ class RealTimeDecisions < Resource
7
+ NAME = "Real-Time Decisions"
8
+ API_NAME = "real_time_decisions"
9
+
10
+ # Action a Real-Time Decision
11
+ endpoint :action, :post, path: [:real_time_decision_id, "action"]
12
+ # Retrieve a Real-Time Decision
13
+ retrieve
14
+ end
15
+ end
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "increase/resource"
4
+
5
+ module Increase
6
+ class RoutingNumbers < Resource
7
+ NAME = "Routing Numbers"
8
+ API_NAME = "routing_numbers"
9
+
10
+ # List Routing Numbers
11
+ list
12
+ end
13
+ end
@@ -4,7 +4,12 @@ require "increase/resource"
4
4
 
5
5
  module Increase
6
6
  class Transactions < Resource
7
+ NAME = "Transactions"
8
+ API_NAME = "transactions"
9
+
10
+ # List Transactions
7
11
  list
12
+ # Retrieve a Transaction
8
13
  retrieve
9
14
  end
10
15
  end
@@ -0,0 +1,17 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "increase/resource"
4
+
5
+ module Increase
6
+ class WireDrawdownRequests < Resource
7
+ NAME = "Wire Drawdown Requests"
8
+ API_NAME = "wire_drawdown_requests"
9
+
10
+ # Create a Wire Drawdown Request
11
+ create
12
+ # List Wire Drawdown Requests
13
+ list
14
+ # Retrieve a Wire Drawdown Request
15
+ retrieve
16
+ end
17
+ end
@@ -0,0 +1,21 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "increase/resource"
4
+
5
+ module Increase
6
+ class WireTransfers < Resource
7
+ NAME = "Wire Transfers"
8
+ API_NAME = "wire_transfers"
9
+
10
+ # Create a Wire Transfer
11
+ create
12
+ # List Wire Transfers
13
+ list
14
+ # Retrieve a Wire Transfer
15
+ retrieve
16
+ # Approve a Wire Transfer
17
+ endpoint :approve, :post, path: [:wire_transfer_id, "approve"]
18
+ # Cancel a pending Wire Transfer
19
+ endpoint :cancel, :post, path: [:wire_transfer_id, "cancel"]
20
+ end
21
+ end
@@ -0,0 +1,19 @@
1
+ module Increase
2
+ class ResponseArray < Array
3
+ attr_reader :response
4
+
5
+ def initialize(array, full_response: nil, response: nil)
6
+ @full_response = full_response
7
+ @response = response
8
+ super(array)
9
+ end
10
+
11
+ def wrapped
12
+ @full_response
13
+ end
14
+
15
+ def next_cursor
16
+ wrapped&.dig('next_cursor')
17
+ end
18
+ end
19
+ end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Increase
4
- VERSION = "0.1.2"
4
+ VERSION = "0.2.0"
5
5
  end
@@ -8,7 +8,15 @@ module Increase
8
8
  DEFAULT_TIME_TOLERANCE = 300 # 300 seconds (5 minutes)
9
9
  DEFAULT_SCHEME = "v1"
10
10
 
11
- def self.verify?(payload:, signature_header:, secret:, scheme: DEFAULT_SCHEME, time_tolerance: DEFAULT_TIME_TOLERANCE)
11
+ # Verifies the signature of a webhook payload (without raising an error)
12
+ def self.verify?(**args)
13
+ verify(**args)
14
+ rescue WebhookSignatureVerificationError
15
+ false
16
+ end
17
+
18
+ # Raises a WebhookSignatureVerificationError if the signature is invalid
19
+ def self.verify(payload:, signature_header:, secret:, scheme: DEFAULT_SCHEME, time_tolerance: DEFAULT_TIME_TOLERANCE)
12
20
  # Helper for raising errors with additional metadata
13
21
  sig_error = ->(msg) do
14
22
  WebhookSignatureVerificationError.new(msg, signature_header: signature_header, payload: payload)