lithic 0.2.0 → 0.4.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 (135) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +78 -0
  3. data/README.md +1 -1
  4. data/lib/lithic/client.rb +5 -10
  5. data/lib/lithic/internal/transport/pooled_net_requester.rb +12 -10
  6. data/lib/lithic/internal/util.rb +7 -2
  7. data/lib/lithic/models/auth_rules/conditional_tokenization_action_parameters.rb +5 -0
  8. data/lib/lithic/models/auth_rules/velocity_limit_params.rb +21 -21
  9. data/lib/lithic/models/book_transfer_retry_params.rb +26 -0
  10. data/lib/lithic/models/{asa_request_webhook_event.rb → card_authorization_approval_request_webhook_event.rb} +151 -129
  11. data/lib/lithic/models/card_create_params.rb +12 -5
  12. data/lib/lithic/models/card_updated_webhook_event.rb +40 -0
  13. data/lib/lithic/models/card_web_provision_response.rb +5 -5
  14. data/lib/lithic/models/event.rb +3 -0
  15. data/lib/lithic/models/event_list_params.rb +2 -0
  16. data/lib/lithic/models/event_subscription.rb +2 -0
  17. data/lib/lithic/models/events/subscription_create_params.rb +2 -0
  18. data/lib/lithic/models/events/subscription_send_simulated_example_params.rb +1 -0
  19. data/lib/lithic/models/events/subscription_update_params.rb +2 -0
  20. data/lib/lithic/models/external_payment_create_params.rb +15 -1
  21. data/lib/lithic/models/financial_account.rb +33 -25
  22. data/lib/lithic/models/financial_account_update_status_params.rb +9 -1
  23. data/lib/lithic/models/financial_accounts/loan_tape.rb +52 -3
  24. data/lib/lithic/models/financial_transaction.rb +4 -2
  25. data/lib/lithic/models/management_operation_create_params.rb +6 -1
  26. data/lib/lithic/models/non_pci_card.rb +8 -10
  27. data/lib/lithic/models/parsed_webhook_event.rb +5 -4
  28. data/lib/lithic/models/payment.rb +10 -1
  29. data/lib/lithic/models/payment_create_params.rb +1 -1
  30. data/lib/lithic/models/three_ds_authentication_approval_request_webhook_event.rb +17 -0
  31. data/lib/lithic/models/transaction.rb +12 -1
  32. data/lib/lithic/models/transaction_simulate_authorization_params.rb +25 -1
  33. data/lib/lithic/models/transaction_simulate_credit_authorization_advice_params.rb +25 -1
  34. data/lib/lithic/models/transfer_limit_list_params.rb +22 -0
  35. data/lib/lithic/models/transfer_limits_response.rb +274 -0
  36. data/lib/lithic/models.rb +14 -6
  37. data/lib/lithic/resources/book_transfers.rb +27 -0
  38. data/lib/lithic/resources/cards.rb +33 -27
  39. data/lib/lithic/resources/external_payments.rb +13 -1
  40. data/lib/lithic/resources/financial_accounts.rb +8 -6
  41. data/lib/lithic/resources/management_operations.rb +4 -1
  42. data/lib/lithic/resources/transactions.rb +14 -2
  43. data/lib/lithic/resources/transfer_limits.rb +37 -0
  44. data/lib/lithic/resources/webhooks.rb +3 -2
  45. data/lib/lithic/version.rb +1 -1
  46. data/lib/lithic.rb +7 -7
  47. data/rbi/lithic/client.rbi +3 -3
  48. data/rbi/lithic/models/auth_rules/conditional_tokenization_action_parameters.rbi +11 -0
  49. data/rbi/lithic/models/auth_rules/velocity_limit_params.rbi +47 -45
  50. data/rbi/lithic/models/book_transfer_retry_params.rbi +42 -0
  51. data/rbi/lithic/models/{asa_request_webhook_event.rbi → card_authorization_approval_request_webhook_event.rbi} +394 -256
  52. data/rbi/lithic/models/card_create_params.rbi +15 -6
  53. data/rbi/lithic/models/card_updated_webhook_event.rbi +61 -0
  54. data/rbi/lithic/models/card_web_provision_response.rbi +5 -10
  55. data/rbi/lithic/models/event.rbi +5 -0
  56. data/rbi/lithic/models/event_list_params.rbi +6 -0
  57. data/rbi/lithic/models/event_subscription.rbi +6 -0
  58. data/rbi/lithic/models/events/subscription_create_params.rbi +6 -0
  59. data/rbi/lithic/models/events/subscription_send_simulated_example_params.rbi +5 -0
  60. data/rbi/lithic/models/events/subscription_update_params.rbi +6 -0
  61. data/rbi/lithic/models/external_payment_create_params.rbi +4 -0
  62. data/rbi/lithic/models/financial_account.rbi +62 -54
  63. data/rbi/lithic/models/financial_account_update_status_params.rbi +11 -0
  64. data/rbi/lithic/models/financial_accounts/loan_tape.rbi +93 -4
  65. data/rbi/lithic/models/financial_transaction.rbi +8 -4
  66. data/rbi/lithic/models/management_operation_create_params.rbi +4 -0
  67. data/rbi/lithic/models/non_pci_card.rbi +12 -15
  68. data/rbi/lithic/models/parsed_webhook_event.rbi +3 -2
  69. data/rbi/lithic/models/payment.rbi +16 -3
  70. data/rbi/lithic/models/three_ds_authentication_approval_request_webhook_event.rbi +27 -0
  71. data/rbi/lithic/models/transaction.rbi +20 -0
  72. data/rbi/lithic/models/transaction_simulate_authorization_params.rbi +33 -0
  73. data/rbi/lithic/models/transaction_simulate_credit_authorization_advice_params.rbi +33 -0
  74. data/rbi/lithic/models/transfer_limit_list_params.rbi +43 -0
  75. data/rbi/lithic/models/transfer_limits_response.rbi +604 -0
  76. data/rbi/lithic/models.rbi +14 -6
  77. data/rbi/lithic/resources/book_transfers.rbi +18 -0
  78. data/rbi/lithic/resources/cards.rbi +52 -49
  79. data/rbi/lithic/resources/external_payments.rbi +2 -0
  80. data/rbi/lithic/resources/financial_accounts.rbi +8 -5
  81. data/rbi/lithic/resources/management_operations.rbi +2 -0
  82. data/rbi/lithic/resources/transactions.rbi +18 -0
  83. data/rbi/lithic/resources/transfer_limits.rbi +28 -0
  84. data/rbi/lithic/resources/webhooks.rbi +4 -65
  85. data/sig/lithic/client.rbs +2 -2
  86. data/sig/lithic/models/auth_rules/conditional_tokenization_action_parameters.rbs +2 -0
  87. data/sig/lithic/models/auth_rules/velocity_limit_params.rbs +20 -16
  88. data/sig/lithic/models/book_transfer_retry_params.rbs +23 -0
  89. data/sig/lithic/models/{asa_request_webhook_event.rbs → card_authorization_approval_request_webhook_event.rbs} +161 -156
  90. data/sig/lithic/models/card_create_params.rbs +8 -1
  91. data/sig/lithic/models/card_updated_webhook_event.rbs +35 -0
  92. data/sig/lithic/models/card_web_provision_response.rbs +4 -10
  93. data/sig/lithic/models/event.rbs +2 -0
  94. data/sig/lithic/models/event_list_params.rbs +2 -0
  95. data/sig/lithic/models/event_subscription.rbs +2 -0
  96. data/sig/lithic/models/events/subscription_create_params.rbs +2 -0
  97. data/sig/lithic/models/events/subscription_send_simulated_example_params.rbs +2 -0
  98. data/sig/lithic/models/events/subscription_update_params.rbs +2 -0
  99. data/sig/lithic/models/financial_account.rbs +32 -27
  100. data/sig/lithic/models/financial_account_update_status_params.rbs +8 -1
  101. data/sig/lithic/models/financial_accounts/loan_tape.rbs +46 -4
  102. data/sig/lithic/models/parsed_webhook_event.rbs +3 -2
  103. data/sig/lithic/models/payment.rbs +10 -3
  104. data/sig/lithic/models/three_ds_authentication_approval_request_webhook_event.rbs +22 -0
  105. data/sig/lithic/models/transaction.rbs +9 -0
  106. data/sig/lithic/models/transaction_simulate_authorization_params.rbs +21 -0
  107. data/sig/lithic/models/transaction_simulate_credit_authorization_advice_params.rbs +22 -1
  108. data/sig/lithic/models/transfer_limit_list_params.rbs +22 -0
  109. data/sig/lithic/models/transfer_limits_response.rbs +232 -0
  110. data/sig/lithic/models.rbs +12 -6
  111. data/sig/lithic/resources/book_transfers.rbs +6 -0
  112. data/sig/lithic/resources/cards.rbs +1 -2
  113. data/sig/lithic/resources/financial_accounts.rbs +1 -0
  114. data/sig/lithic/resources/transactions.rbs +6 -0
  115. data/sig/lithic/resources/transfer_limits.rbs +12 -0
  116. data/sig/lithic/resources/webhooks.rbs +4 -61
  117. metadata +37 -23
  118. data/lib/lithic/models/aggregate_balance.rb +0 -113
  119. data/lib/lithic/models/aggregate_balance_list_params.rb +0 -35
  120. data/lib/lithic/models/cards/aggregate_balance_list_params.rb +0 -32
  121. data/lib/lithic/models/cards/aggregate_balance_list_response.rb +0 -92
  122. data/lib/lithic/resources/aggregate_balances.rb +0 -38
  123. data/lib/lithic/resources/cards/aggregate_balances.rb +0 -41
  124. data/rbi/lithic/models/aggregate_balance.rbi +0 -164
  125. data/rbi/lithic/models/aggregate_balance_list_params.rbi +0 -104
  126. data/rbi/lithic/models/cards/aggregate_balance_list_params.rbi +0 -62
  127. data/rbi/lithic/models/cards/aggregate_balance_list_response.rbi +0 -115
  128. data/rbi/lithic/resources/aggregate_balances.rbi +0 -28
  129. data/rbi/lithic/resources/cards/aggregate_balances.rbi +0 -35
  130. data/sig/lithic/models/aggregate_balance.rbs +0 -78
  131. data/sig/lithic/models/aggregate_balance_list_params.rbs +0 -43
  132. data/sig/lithic/models/cards/aggregate_balance_list_params.rbs +0 -34
  133. data/sig/lithic/models/cards/aggregate_balance_list_response.rbs +0 -62
  134. data/sig/lithic/resources/aggregate_balances.rbs +0 -12
  135. data/sig/lithic/resources/cards/aggregate_balances.rbs +0 -15
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: f8946d1c458ae277f59faee42210befe43f7ad248f2af24d1a96700ace4bffd5
4
- data.tar.gz: 7ec367fffbd069f955681d5b3e59328ae0714493739c8d7f6f0291ebfa13315f
3
+ metadata.gz: 3c9b82b20af6ee10e138b64db9e21fa9859d5058b058b3f4d8bd9c3ce12f83ac
4
+ data.tar.gz: 2bf7dbce1c92170c905528b75e67a6b69145a154c217286a25710b83cd42c325
5
5
  SHA512:
6
- metadata.gz: f0ca88aa8c35a14f40e5387407acdf493491c40f5b100bef248632c2d55e5bf2c31bcf9a659f074319b4314a7560819da891a6d8ec58ce50fac2f1726d6997be
7
- data.tar.gz: 9a0d64b55815fd2ad4a7e414ba4864e3612f3107e17e2d93609978023d8904df2c7450bb40f8f86efad97e1e7c7b1741a7e6f0c25c03868726cbab89e23f2d6a
6
+ metadata.gz: c23410831a8ff4b4f658af06396bd4239a09b44a66a02e797010247c78b6534d56eca63064d267a74ed8ed6b07fdcd3c10c3dc3ec1722dcbad2fe39aae72388f
7
+ data.tar.gz: e07f42259409e859856a1635d9cd2f3681f8b0bcce3f29a69e128141a43623451126b6dd1f42d01468db0cc5bbcf024d1a9e98c2f2d5fd54a603890cc9103c4a
data/CHANGELOG.md CHANGED
@@ -1,5 +1,83 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.4.0 (2026-01-27)
4
+
5
+ Full Changelog: [v0.3.0...v0.4.0](https://github.com/lithic-com/lithic-ruby/compare/v0.3.0...v0.4.0)
6
+
7
+ ### Features
8
+
9
+ * **api:** Add card state attribute to tokenization rules ([0fe9646](https://github.com/lithic-com/lithic-ruby/commit/0fe9646694e932fddba74b91dcc7cdb1bb565d10))
10
+ * **api:** Add card.updated event ([80369fe](https://github.com/lithic-com/lithic-ruby/commit/80369fe89f4bfb7255bfa05a2035c77238debe3a))
11
+ * **api:** Add event_type to ASA request and 3DS decisioning request ([0fe9646](https://github.com/lithic-com/lithic-ruby/commit/0fe9646694e932fddba74b91dcc7cdb1bb565d10))
12
+ * **api:** Add idempotency key to cards POST and PATCH endpoints ([51321d8](https://github.com/lithic-com/lithic-ruby/commit/51321d8d84f5e1fcb4e9161dd607f01dc9d5cf5d))
13
+ * **api:** Add merchant location fields to simulator endpoints ([d983a60](https://github.com/lithic-com/lithic-ruby/commit/d983a608526955b2699b151e71d14adab72a1a7d))
14
+ * **api:** Add tags field to card transactions ([edf8fbc](https://github.com/lithic-com/lithic-ruby/commit/edf8fbccb53de602bc52be916d6c80498ae4e390))
15
+ * **api:** Add user defined status to ledger accounts ([0fe9646](https://github.com/lithic-com/lithic-ruby/commit/0fe9646694e932fddba74b91dcc7cdb1bb565d10))
16
+ * **api:** Expose Payment Allocation Details ([0fe9646](https://github.com/lithic-com/lithic-ruby/commit/0fe9646694e932fddba74b91dcc7cdb1bb565d10))
17
+ * **api:** make filter optional for Spend Velocity Auth Rules ([3e09d4a](https://github.com/lithic-com/lithic-ruby/commit/3e09d4a5488c83ad8122c973baf5eb4e18de29b0))
18
+
19
+
20
+ ### Bug Fixes
21
+
22
+ * **api:** Correct field name from ach_hold__period to ach_hold_period ([16b6555](https://github.com/lithic-com/lithic-ruby/commit/16b65553840cfad0d39eb52d9770ca394a893c44))
23
+ * **api:** mark AppleWebPushProvisioningResponse fields required ([4105b29](https://github.com/lithic-com/lithic-ruby/commit/4105b29d27ce48c60180c5b7166e664fdd1c0e46))
24
+ * **api:** rename WIRE_DRAWDOWN_REQUEST to WIRE_INBOUND_DRAWDOWN_REQUEST ([3e09d4a](https://github.com/lithic-com/lithic-ruby/commit/3e09d4a5488c83ad8122c973baf5eb4e18de29b0))
25
+
26
+
27
+ ### Chores
28
+
29
+ * Add spec linter for YAML and folded style multiline strings ([35a67d3](https://github.com/lithic-com/lithic-ruby/commit/35a67d3154e8f54d374c53d8b3b53b9485272878))
30
+ * configure new SDK language ([ba770b2](https://github.com/lithic-com/lithic-ruby/commit/ba770b2cd5f50ba1871c539f89036ff4538b1df2))
31
+ * **internal:** codegen related update ([ef965b2](https://github.com/lithic-com/lithic-ruby/commit/ef965b2fc0cfebc92a3d2317b7201318bcd500aa))
32
+ * **internal:** codegen related update ([143a5ea](https://github.com/lithic-com/lithic-ruby/commit/143a5ea456ee1e6db32fd923ddb68f749ceed53b))
33
+ * **internal:** update `actions/checkout` version ([830ae4a](https://github.com/lithic-com/lithic-ruby/commit/830ae4ad28662e5be21860d14ea86d2f1fa25ec0))
34
+ * Rework event type generation to support spec splitting ([fdb9960](https://github.com/lithic-com/lithic-ruby/commit/fdb9960d08f95f161da8abf310509d594a0d2957))
35
+ * update code formatting ([0fe9646](https://github.com/lithic-com/lithic-ruby/commit/0fe9646694e932fddba74b91dcc7cdb1bb565d10))
36
+
37
+
38
+ ### Documentation
39
+
40
+ * Remove deprecated tag from MERCHANT_LOCKED card type ([b3104df](https://github.com/lithic-com/lithic-ruby/commit/b3104df92ab8f161c92c1136b86a1a734576f574))
41
+ * Update language for Google Web Push Provisioning docs ([0fe9646](https://github.com/lithic-com/lithic-ruby/commit/0fe9646694e932fddba74b91dcc7cdb1bb565d10))
42
+
43
+ ## 0.3.0 (2026-01-08)
44
+
45
+ Full Changelog: [v0.2.0...v0.3.0](https://github.com/lithic-com/lithic-ruby/compare/v0.2.0...v0.3.0)
46
+
47
+ ### Features
48
+
49
+ * **api:** Add card state attribute to tokenization rules ([24f042b](https://github.com/lithic-com/lithic-ruby/commit/24f042b70a1b3b6f30639fe6d04dbc7d566ea187))
50
+ * **api:** Add event_type to ASA request and 3DS decisioning request ([24f042b](https://github.com/lithic-com/lithic-ruby/commit/24f042b70a1b3b6f30639fe6d04dbc7d566ea187))
51
+ * **api:** add external_id to payment_event ([0bad1d9](https://github.com/lithic-com/lithic-ruby/commit/0bad1d9ef7b439a1be19b68af67abb6e66e5c53f))
52
+ * **api:** add get /v1/transfer_limits endpoint ([0bad1d9](https://github.com/lithic-com/lithic-ruby/commit/0bad1d9ef7b439a1be19b68af67abb6e66e5c53f))
53
+ * **api:** add post /v1/book_transfers/{book_transfer_token}/retry endpoint ([0bad1d9](https://github.com/lithic-com/lithic-ruby/commit/0bad1d9ef7b439a1be19b68af67abb6e66e5c53f))
54
+ * **api:** Add user defined status to ledger accounts ([24f042b](https://github.com/lithic-com/lithic-ruby/commit/24f042b70a1b3b6f30639fe6d04dbc7d566ea187))
55
+ * **api:** add WIRE_DRAWDOWN_REQUEST transfer type ([832895f](https://github.com/lithic-com/lithic-ruby/commit/832895fdf5d4e72f9fc1ce62e9acfb6bcbdfdc14))
56
+ * **api:** Expose Payment Allocation Details ([24f042b](https://github.com/lithic-com/lithic-ruby/commit/24f042b70a1b3b6f30639fe6d04dbc7d566ea187))
57
+ * **api:** remove unnecessary X-Lithic-Pagination header ([832895f](https://github.com/lithic-com/lithic-ruby/commit/832895fdf5d4e72f9fc1ce62e9acfb6bcbdfdc14))
58
+ * **api:** remove v1/aggregate_balances and related models ([c66d75e](https://github.com/lithic-com/lithic-ruby/commit/c66d75ed7b10521d5f73efeafb9dbcd6ff7a7f0c))
59
+
60
+
61
+ ### Bug Fixes
62
+
63
+ * calling `break` out of streams should be instantaneous ([86db080](https://github.com/lithic-com/lithic-ruby/commit/86db080240382ba1cd73af9a01c89379cfb8e330))
64
+ * issue where json.parse errors when receiving HTTP 204 with nobody ([9c9d63b](https://github.com/lithic-com/lithic-ruby/commit/9c9d63b07badd9fdd107314ac0bd5c8c23ddd0c3))
65
+
66
+
67
+ ### Chores
68
+
69
+ * formatting ([e736094](https://github.com/lithic-com/lithic-ruby/commit/e736094a8bcf11007a6ea2666cfc6a646aca6972))
70
+ * **internal:** codegen related update ([6bacc68](https://github.com/lithic-com/lithic-ruby/commit/6bacc684b578951ece05155697ec0b68c2d8d4e0))
71
+ * Simplify custom code ([67dc77a](https://github.com/lithic-com/lithic-ruby/commit/67dc77a78348d9d910cca58ffba483992b738f30))
72
+ * Simplify custom code - same for rbs file ([3438ceb](https://github.com/lithic-com/lithic-ruby/commit/3438cebfd4899c87d06a2bc42d4a76af709ea21f))
73
+ * update code formatting ([24f042b](https://github.com/lithic-com/lithic-ruby/commit/24f042b70a1b3b6f30639fe6d04dbc7d566ea187))
74
+
75
+
76
+ ### Documentation
77
+
78
+ * **api:** clarify description of token / retry_token when it serves as idempotency key ([832895f](https://github.com/lithic-com/lithic-ruby/commit/832895fdf5d4e72f9fc1ce62e9acfb6bcbdfdc14))
79
+ * Update language for Google Web Push Provisioning docs ([24f042b](https://github.com/lithic-com/lithic-ruby/commit/24f042b70a1b3b6f30639fe6d04dbc7d566ea187))
80
+
3
81
  ## 0.2.0 (2025-12-10)
4
82
 
5
83
  Full Changelog: [v0.1.0...v0.2.0](https://github.com/lithic-com/lithic-ruby/compare/v0.1.0...v0.2.0)
data/README.md CHANGED
@@ -15,7 +15,7 @@ To use this gem, install via Bundler by adding the following to your application
15
15
  <!-- x-release-please-start-version -->
16
16
 
17
17
  ```ruby
18
- gem "lithic", "~> 0.2.0"
18
+ gem "lithic", "~> 0.4.0"
19
19
  ```
20
20
 
21
21
  <!-- x-release-please-end -->
data/lib/lithic/client.rb CHANGED
@@ -50,9 +50,6 @@ module Lithic
50
50
  # @return [Lithic::Resources::Balances]
51
51
  attr_reader :balances
52
52
 
53
- # @return [Lithic::Resources::AggregateBalances]
54
- attr_reader :aggregate_balances
55
-
56
53
  # @return [Lithic::Resources::Disputes]
57
54
  attr_reader :disputes
58
55
 
@@ -119,6 +116,9 @@ module Lithic
119
116
  # @return [Lithic::Resources::AccountActivity]
120
117
  attr_reader :account_activity
121
118
 
119
+ # @return [Lithic::Resources::TransferLimits]
120
+ attr_reader :transfer_limits
121
+
122
122
  # @return [Lithic::Resources::Webhooks]
123
123
  attr_reader :webhooks
124
124
 
@@ -181,10 +181,6 @@ module Lithic
181
181
  raise ArgumentError.new("api_key is required, and can be set via environ: \"LITHIC_API_KEY\"")
182
182
  end
183
183
 
184
- headers = {
185
- "x-lithic-pagination" => "cursor"
186
- }
187
-
188
184
  @api_key = api_key.to_s
189
185
 
190
186
  super(
@@ -192,8 +188,7 @@ module Lithic
192
188
  timeout: timeout,
193
189
  max_retries: max_retries,
194
190
  initial_retry_delay: initial_retry_delay,
195
- max_retry_delay: max_retry_delay,
196
- headers: headers
191
+ max_retry_delay: max_retry_delay
197
192
  )
198
193
 
199
194
  @accounts = Lithic::Resources::Accounts.new(client: self)
@@ -205,7 +200,6 @@ module Lithic
205
200
  @cards = Lithic::Resources::Cards.new(client: self)
206
201
  @card_bulk_orders = Lithic::Resources::CardBulkOrders.new(client: self)
207
202
  @balances = Lithic::Resources::Balances.new(client: self)
208
- @aggregate_balances = Lithic::Resources::AggregateBalances.new(client: self)
209
203
  @disputes = Lithic::Resources::Disputes.new(client: self)
210
204
  @disputes_v2 = Lithic::Resources::DisputesV2.new(client: self)
211
205
  @events = Lithic::Resources::Events.new(client: self)
@@ -228,6 +222,7 @@ module Lithic
228
222
  @fraud = Lithic::Resources::Fraud.new(client: self)
229
223
  @network_programs = Lithic::Resources::NetworkPrograms.new(client: self)
230
224
  @account_activity = Lithic::Resources::AccountActivity.new(client: self)
225
+ @transfer_limits = Lithic::Resources::TransferLimits.new(client: self)
231
226
  @webhooks = Lithic::Resources::Webhooks.new(client: self)
232
227
  end
233
228
  end
@@ -153,17 +153,19 @@ module Lithic
153
153
  end
154
154
 
155
155
  self.class.calibrate_socket_timeout(conn, deadline)
156
- conn.request(req) do |rsp|
157
- y << [req, rsp]
158
- break if finished
159
-
160
- rsp.read_body do |bytes|
161
- y << bytes.force_encoding(Encoding::BINARY)
162
- break if finished
163
-
164
- self.class.calibrate_socket_timeout(conn, deadline)
156
+ ::Kernel.catch(:jump) do
157
+ conn.request(req) do |rsp|
158
+ y << [req, rsp]
159
+ ::Kernel.throw(:jump) if finished
160
+
161
+ rsp.read_body do |bytes|
162
+ y << bytes.force_encoding(Encoding::BINARY)
163
+ ::Kernel.throw(:jump) if finished
164
+
165
+ self.class.calibrate_socket_timeout(conn, deadline)
166
+ end
167
+ eof = true
165
168
  end
166
- eof = true
167
169
  end
168
170
  end
169
171
  ensure
@@ -657,7 +657,8 @@ module Lithic
657
657
  def decode_content(headers, stream:, suppress_error: false)
658
658
  case (content_type = headers["content-type"])
659
659
  in Lithic::Internal::Util::JSON_CONTENT
660
- json = stream.to_a.join
660
+ return nil if (json = stream.to_a.join).empty?
661
+
661
662
  begin
662
663
  JSON.parse(json, symbolize_names: true)
663
664
  rescue JSON::ParserError => e
@@ -667,7 +668,11 @@ module Lithic
667
668
  in Lithic::Internal::Util::JSONL_CONTENT
668
669
  lines = decode_lines(stream)
669
670
  chain_fused(lines) do |y|
670
- lines.each { y << JSON.parse(_1, symbolize_names: true) }
671
+ lines.each do
672
+ next if _1.empty?
673
+
674
+ y << JSON.parse(_1, symbolize_names: true)
675
+ end
671
676
  end
672
677
  in %r{^text/event-stream}
673
678
  lines = decode_lines(stream)
@@ -185,6 +185,8 @@ module Lithic
185
185
  # `TOO_MANY_RECENT_TOKENS`, `UNABLE_TO_ASSESS`.
186
186
  # - `TOKEN_REQUESTOR_ID`: Unique identifier for the entity requesting the token.
187
187
  # - `WALLET_TOKEN_STATUS`: The current status of the wallet token.
188
+ # - `CARD_STATE`: The state of the card being tokenized. Valid values are
189
+ # `CLOSED`, `OPEN`, `PAUSED`, `PENDING_ACTIVATION`, `PENDING_FULFILLMENT`.
188
190
  #
189
191
  # @return [Symbol, Lithic::Models::AuthRules::ConditionalTokenizationActionParameters::Condition::Attribute]
190
192
  required :attribute,
@@ -245,6 +247,8 @@ module Lithic
245
247
  # `TOO_MANY_RECENT_TOKENS`, `UNABLE_TO_ASSESS`.
246
248
  # - `TOKEN_REQUESTOR_ID`: Unique identifier for the entity requesting the token.
247
249
  # - `WALLET_TOKEN_STATUS`: The current status of the wallet token.
250
+ # - `CARD_STATE`: The state of the card being tokenized. Valid values are
251
+ # `CLOSED`, `OPEN`, `PAUSED`, `PENDING_ACTIVATION`, `PENDING_FULFILLMENT`.
248
252
  #
249
253
  # @see Lithic::Models::AuthRules::ConditionalTokenizationActionParameters::Condition#attribute
250
254
  module Attribute
@@ -260,6 +264,7 @@ module Lithic
260
264
  WALLET_RECOMMENDATION_REASONS = :WALLET_RECOMMENDATION_REASONS
261
265
  TOKEN_REQUESTOR_ID = :TOKEN_REQUESTOR_ID
262
266
  WALLET_TOKEN_STATUS = :WALLET_TOKEN_STATUS
267
+ CARD_STATE = :CARD_STATE
263
268
 
264
269
  # @!method self.values
265
270
  # @return [Array<Symbol>]
@@ -4,11 +4,6 @@ module Lithic
4
4
  module Models
5
5
  module AuthRules
6
6
  class VelocityLimitParams < Lithic::Internal::Type::BaseModel
7
- # @!attribute filters
8
- #
9
- # @return [Lithic::Models::AuthRules::VelocityLimitParams::Filters]
10
- required :filters, -> { Lithic::AuthRules::VelocityLimitParams::Filters }
11
-
12
7
  # @!attribute period
13
8
  # Velocity over the current day since 00:00 / 12 AM in Eastern Time
14
9
  #
@@ -21,6 +16,11 @@ module Lithic
21
16
  # @return [Symbol, Lithic::Models::AuthRules::VelocityLimitParams::Scope]
22
17
  required :scope, enum: -> { Lithic::AuthRules::VelocityLimitParams::Scope }
23
18
 
19
+ # @!attribute filters
20
+ #
21
+ # @return [Lithic::Models::AuthRules::VelocityLimitParams::Filters, nil]
22
+ optional :filters, -> { Lithic::AuthRules::VelocityLimitParams::Filters }
23
+
24
24
  # @!attribute limit_amount
25
25
  # The maximum amount of spend velocity allowed in the period in minor units (the
26
26
  # smallest unit of a currency, e.g. cents for USD). Transactions exceeding this
@@ -39,20 +39,33 @@ module Lithic
39
39
  # @return [Integer, nil]
40
40
  optional :limit_count, Integer, nil?: true
41
41
 
42
- # @!method initialize(filters:, period:, scope:, limit_amount: nil, limit_count: nil)
42
+ # @!method initialize(period:, scope:, filters: nil, limit_amount: nil, limit_count: nil)
43
43
  # Some parameter documentations has been truncated, see
44
44
  # {Lithic::Models::AuthRules::VelocityLimitParams} for more details.
45
45
  #
46
- # @param filters [Lithic::Models::AuthRules::VelocityLimitParams::Filters]
47
- #
48
46
  # @param period [Lithic::Models::AuthRules::VelocityLimitPeriod::TrailingWindowObject, Lithic::Models::AuthRules::VelocityLimitPeriod::FixedWindowDay, Lithic::Models::AuthRules::VelocityLimitPeriod::FixedWindowWeek, Lithic::Models::AuthRules::VelocityLimitPeriod::FixedWindowMonth, Lithic::Models::AuthRules::VelocityLimitPeriod::FixedWindowYear] Velocity over the current day since 00:00 / 12 AM in Eastern Time
49
47
  #
50
48
  # @param scope [Symbol, Lithic::Models::AuthRules::VelocityLimitParams::Scope] The scope the velocity is calculated for
51
49
  #
50
+ # @param filters [Lithic::Models::AuthRules::VelocityLimitParams::Filters]
51
+ #
52
52
  # @param limit_amount [Integer, nil] The maximum amount of spend velocity allowed in the period in minor units (the s
53
53
  #
54
54
  # @param limit_count [Integer, nil] The number of spend velocity impacting transactions may not exceed this limit in
55
55
 
56
+ # The scope the velocity is calculated for
57
+ #
58
+ # @see Lithic::Models::AuthRules::VelocityLimitParams#scope
59
+ module Scope
60
+ extend Lithic::Internal::Type::Enum
61
+
62
+ CARD = :CARD
63
+ ACCOUNT = :ACCOUNT
64
+
65
+ # @!method self.values
66
+ # @return [Array<Symbol>]
67
+ end
68
+
56
69
  # @see Lithic::Models::AuthRules::VelocityLimitParams#filters
57
70
  class Filters < Lithic::Internal::Type::BaseModel
58
71
  # @!attribute exclude_countries
@@ -133,19 +146,6 @@ module Lithic
133
146
  # @return [Array<Symbol>]
134
147
  end
135
148
  end
136
-
137
- # The scope the velocity is calculated for
138
- #
139
- # @see Lithic::Models::AuthRules::VelocityLimitParams#scope
140
- module Scope
141
- extend Lithic::Internal::Type::Enum
142
-
143
- CARD = :CARD
144
- ACCOUNT = :ACCOUNT
145
-
146
- # @!method self.values
147
- # @return [Array<Symbol>]
148
- end
149
149
  end
150
150
  end
151
151
  end
@@ -0,0 +1,26 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Lithic
4
+ module Models
5
+ # @see Lithic::Resources::BookTransfers#retry_
6
+ class BookTransferRetryParams < Lithic::Internal::Type::BaseModel
7
+ extend Lithic::Internal::Type::RequestParameters::Converter
8
+ include Lithic::Internal::Type::RequestParameters
9
+
10
+ # @!attribute retry_token
11
+ # Customer-provided token that will serve as an idempotency token. This token will
12
+ # become the transaction token.
13
+ #
14
+ # @return [String]
15
+ required :retry_token, String
16
+
17
+ # @!method initialize(retry_token:, request_options: {})
18
+ # Some parameter documentations has been truncated, see
19
+ # {Lithic::Models::BookTransferRetryParams} for more details.
20
+ #
21
+ # @param retry_token [String] Customer-provided token that will serve as an idempotency token. This token will
22
+ #
23
+ # @param request_options [Lithic::RequestOptions, Hash{Symbol=>Object}]
24
+ end
25
+ end
26
+ end