increase 0.1.2 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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)