modern_treasury 0.7.0 → 0.9.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: '0904ee9dd1992cf68b43a7549deaa4069fea261e495029400aa45bb5b8df4d49'
4
- data.tar.gz: 1982a17e4e0b307a9f75086f06920484d0597391b6263eeddc480b67f1c5f4e3
3
+ metadata.gz: 0ece6a35181fd477de3a707e524d64731c9325fbd45cf05c2eed0a43bcff019a
4
+ data.tar.gz: e9ca8f0c2217f92995b84f021be24278d1eb2309a4a0563d885a74d5a11504cf
5
5
  SHA512:
6
- metadata.gz: c7466008b3f69bda7eb2f3fd5a998407c8037edeab8ad2ba50ef9f239ef5f3a10180cb84d91eed9440f18f9b66b997d45d1b614998c80d55d1ff029f1b76606e
7
- data.tar.gz: 0bead40bb0c48e53a10fe5b1baf301a0ccc41b8fbdd63be5220fbf553dcc3ab0ce48bcf441dbff2d8edd5f5a908d97d443b79977d6e8d0b97081eb918325f295
6
+ metadata.gz: de56922ecdeb9e7de342cccb9d895300609c567ac76d75f0aff0c7f39118d45aa141641d70f0ebd34409a31fc01e8d499f2a9003e0e3821ef7b6f3c43c016b9e
7
+ data.tar.gz: d7e272c5915c13195b0d0e5a2ce604e82af5a436c087377b1e88ed8d9e5c5f78eab70d6e5fb51738c09cbd6d96316d7ffa049c3e07ec7e750c9d8924a1667a1e
data/CHANGELOG.md CHANGED
@@ -1,5 +1,28 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.9.0 (2025-10-23)
4
+
5
+ Full Changelog: [v0.8.0...v0.9.0](https://github.com/Modern-Treasury/modern-treasury-ruby/compare/v0.8.0...v0.9.0)
6
+
7
+ ### Features
8
+
9
+ * handle thread interrupts in the core HTTP client ([6ba4bc5](https://github.com/Modern-Treasury/modern-treasury-ruby/commit/6ba4bc5503f416fc1acf57db52b250b66d07a26c))
10
+
11
+ ## 0.8.0 (2025-10-22)
12
+
13
+ Full Changelog: [v0.7.0...v0.8.0](https://github.com/Modern-Treasury/modern-treasury-ruby/compare/v0.7.0...v0.8.0)
14
+
15
+ ### Features
16
+
17
+ * **api:** api update ([3c38801](https://github.com/Modern-Treasury/modern-treasury-ruby/commit/3c3880109e7eb9dd7da618df92d4f36baaec5ae4))
18
+ * **api:** api update ([eb7521c](https://github.com/Modern-Treasury/modern-treasury-ruby/commit/eb7521c34b77ca715290d83cd8b2a27766408d4c))
19
+ * **api:** manual updates ([7c6fc3a](https://github.com/Modern-Treasury/modern-treasury-ruby/commit/7c6fc3a601e8228e173fb0e66b22d5a1fe84a6e5))
20
+
21
+
22
+ ### Bug Fixes
23
+
24
+ * absolutely qualified uris should always override the default ([80d0f5d](https://github.com/Modern-Treasury/modern-treasury-ruby/commit/80d0f5dc070e5f622a02c9e43ed6a0b1aec70661))
25
+
3
26
  ## 0.7.0 (2025-10-14)
4
27
 
5
28
  Full Changelog: [v0.6.0...v0.7.0](https://github.com/Modern-Treasury/modern-treasury-ruby/compare/v0.6.0...v0.7.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 "modern_treasury", "~> 0.7.0"
18
+ gem "modern_treasury", "~> 0.9.0"
19
19
  ```
20
20
 
21
21
  <!-- x-release-please-end -->
@@ -24,7 +24,7 @@ module ModernTreasury
24
24
 
25
25
  # @return [Boolean]
26
26
  def next_page?
27
- !empty? && !after_cursor.to_s.empty?
27
+ !after_cursor.to_s.empty?
28
28
  end
29
29
 
30
30
  # @raise [ModernTreasury::HTTP::Error]
@@ -128,40 +128,48 @@ module ModernTreasury
128
128
  url, deadline = request.fetch_values(:url, :deadline)
129
129
 
130
130
  req = nil
131
- eof = false
132
131
  finished = false
133
- closing = nil
134
132
 
135
133
  # rubocop:disable Metrics/BlockLength
136
134
  enum = Enumerator.new do |y|
137
135
  next if finished
138
136
 
139
137
  with_pool(url, deadline: deadline) do |conn|
140
- req, closing = self.class.build_request(request) do
141
- self.class.calibrate_socket_timeout(conn, deadline)
142
- end
143
-
144
- self.class.calibrate_socket_timeout(conn, deadline)
145
- unless conn.started?
146
- conn.keep_alive_timeout = self.class::KEEP_ALIVE_TIMEOUT
147
- conn.start
148
- end
138
+ eof = false
139
+ closing = nil
140
+ ::Thread.handle_interrupt(Object => :never) do
141
+ ::Thread.handle_interrupt(Object => :immediate) do
142
+ req, closing = self.class.build_request(request) do
143
+ self.class.calibrate_socket_timeout(conn, deadline)
144
+ end
149
145
 
150
- self.class.calibrate_socket_timeout(conn, deadline)
151
- conn.request(req) do |rsp|
152
- y << [req, rsp]
153
- break if finished
154
-
155
- rsp.read_body do |bytes|
156
- y << bytes.force_encoding(Encoding::BINARY)
157
- break if finished
146
+ self.class.calibrate_socket_timeout(conn, deadline)
147
+ unless conn.started?
148
+ conn.keep_alive_timeout = self.class::KEEP_ALIVE_TIMEOUT
149
+ conn.start
150
+ end
158
151
 
159
152
  self.class.calibrate_socket_timeout(conn, deadline)
153
+ conn.request(req) do |rsp|
154
+ y << [req, rsp]
155
+ break if finished
156
+
157
+ rsp.read_body do |bytes|
158
+ y << bytes.force_encoding(Encoding::BINARY)
159
+ break if finished
160
+
161
+ self.class.calibrate_socket_timeout(conn, deadline)
162
+ end
163
+ eof = true
164
+ end
165
+ end
166
+ ensure
167
+ begin
168
+ conn.finish if !eof && conn&.started?
169
+ ensure
170
+ closing&.call
160
171
  end
161
- eof = true
162
172
  end
163
- ensure
164
- conn.finish if !eof && conn&.started?
165
173
  end
166
174
  rescue Timeout::Error
167
175
  raise ModernTreasury::Errors::APITimeoutError.new(url: url, request: req)
@@ -174,8 +182,6 @@ module ModernTreasury
174
182
  body = ModernTreasury::Internal::Util.fused_enum(enum, external: true) do
175
183
  finished = true
176
184
  loop { enum.next }
177
- ensure
178
- closing&.call
179
185
  end
180
186
  [Integer(response.code), response, body]
181
187
  end
@@ -346,8 +346,9 @@ module ModernTreasury
346
346
  base_path, base_query = lhs.fetch_values(:path, :query)
347
347
  slashed = base_path.end_with?("/") ? base_path : "#{base_path}/"
348
348
 
349
- parsed_path, parsed_query = parse_uri(rhs.fetch(:path)).fetch_values(:path, :query)
350
- override = URI::Generic.build(**rhs.slice(:scheme, :host, :port), path: parsed_path)
349
+ merged = {**parse_uri(rhs.fetch(:path)), **rhs.except(:path, :query)}
350
+ parsed_path, parsed_query = merged.fetch_values(:path, :query)
351
+ override = URI::Generic.build(**merged.slice(:scheme, :host, :port), path: parsed_path)
351
352
 
352
353
  joined = URI.join(URI::Generic.build(lhs.except(:path, :query)), slashed, override)
353
354
  query = deep_merge(
@@ -795,9 +795,6 @@ module ModernTreasury
795
795
  BOFA_END_TO_END_ID = :bofa_end_to_end_id
796
796
  BOFA_TRANSACTION_ID = :bofa_transaction_id
797
797
  BRALE_TRANSFER_ID = :brale_transfer_id
798
- BRIDGE_DESTINATION_TRANSACTION_HASH = :bridge_destination_transaction_hash
799
- BRIDGE_SOURCE_TRANSACTION_HASH = :bridge_source_transaction_hash
800
- BRIDGE_TRANSFER_ID = :bridge_transfer_id
801
798
  CHECK_NUMBER = :check_number
802
799
  CITIBANK_REFERENCE_NUMBER = :citibank_reference_number
803
800
  CITIBANK_WORLDLINK_CLEARING_SYSTEM_REFERENCE_NUMBER =
@@ -95,9 +95,6 @@ module ModernTreasury
95
95
  BOFA_END_TO_END_ID = :bofa_end_to_end_id
96
96
  BOFA_TRANSACTION_ID = :bofa_transaction_id
97
97
  BRALE_TRANSFER_ID = :brale_transfer_id
98
- BRIDGE_DESTINATION_TRANSACTION_HASH = :bridge_destination_transaction_hash
99
- BRIDGE_SOURCE_TRANSACTION_HASH = :bridge_source_transaction_hash
100
- BRIDGE_TRANSFER_ID = :bridge_transfer_id
101
98
  CHECK_NUMBER = :check_number
102
99
  CITIBANK_REFERENCE_NUMBER = :citibank_reference_number
103
100
  CITIBANK_WORLDLINK_CLEARING_SYSTEM_REFERENCE_NUMBER =
@@ -488,9 +488,6 @@ module ModernTreasury
488
488
  BOFA_END_TO_END_ID = :bofa_end_to_end_id
489
489
  BOFA_TRANSACTION_ID = :bofa_transaction_id
490
490
  BRALE_TRANSFER_ID = :brale_transfer_id
491
- BRIDGE_DESTINATION_TRANSACTION_HASH = :bridge_destination_transaction_hash
492
- BRIDGE_SOURCE_TRANSACTION_HASH = :bridge_source_transaction_hash
493
- BRIDGE_TRANSFER_ID = :bridge_transfer_id
494
491
  CHECK_NUMBER = :check_number
495
492
  CITIBANK_REFERENCE_NUMBER = :citibank_reference_number
496
493
  CITIBANK_WORLDLINK_CLEARING_SYSTEM_REFERENCE_NUMBER =
@@ -285,7 +285,6 @@ module ModernTreasury
285
285
  BANKPROV = :bankprov
286
286
  BNK_DEV = :bnk_dev
287
287
  BRALE = :brale
288
- BRIDGE = :bridge
289
288
  CLEARTOUCH = :cleartouch
290
289
  COLUMN = :column
291
290
  CROSS_RIVER = :cross_river
@@ -301,7 +300,6 @@ module ModernTreasury
301
300
  MT_FOF = :mt_fof
302
301
  MX = :mx
303
302
  PAYPAL = :paypal
304
- PLAID = :plaid
305
303
  PNC = :pnc
306
304
  SIGNET = :signet
307
305
  SILVERGATE = :silvergate
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module ModernTreasury
4
- VERSION = "0.7.0"
4
+ VERSION = "0.9.0"
5
5
  end
@@ -1215,21 +1215,6 @@ module ModernTreasury
1215
1215
  :brale_transfer_id,
1216
1216
  ModernTreasury::PaymentOrder::ReferenceNumber::ReferenceNumberType::TaggedSymbol
1217
1217
  )
1218
- BRIDGE_DESTINATION_TRANSACTION_HASH =
1219
- T.let(
1220
- :bridge_destination_transaction_hash,
1221
- ModernTreasury::PaymentOrder::ReferenceNumber::ReferenceNumberType::TaggedSymbol
1222
- )
1223
- BRIDGE_SOURCE_TRANSACTION_HASH =
1224
- T.let(
1225
- :bridge_source_transaction_hash,
1226
- ModernTreasury::PaymentOrder::ReferenceNumber::ReferenceNumberType::TaggedSymbol
1227
- )
1228
- BRIDGE_TRANSFER_ID =
1229
- T.let(
1230
- :bridge_transfer_id,
1231
- ModernTreasury::PaymentOrder::ReferenceNumber::ReferenceNumberType::TaggedSymbol
1232
- )
1233
1218
  CHECK_NUMBER =
1234
1219
  T.let(
1235
1220
  :check_number,
@@ -170,21 +170,6 @@ module ModernTreasury
170
170
  :brale_transfer_id,
171
171
  ModernTreasury::PaymentReference::ReferenceNumberType::TaggedSymbol
172
172
  )
173
- BRIDGE_DESTINATION_TRANSACTION_HASH =
174
- T.let(
175
- :bridge_destination_transaction_hash,
176
- ModernTreasury::PaymentReference::ReferenceNumberType::TaggedSymbol
177
- )
178
- BRIDGE_SOURCE_TRANSACTION_HASH =
179
- T.let(
180
- :bridge_source_transaction_hash,
181
- ModernTreasury::PaymentReference::ReferenceNumberType::TaggedSymbol
182
- )
183
- BRIDGE_TRANSFER_ID =
184
- T.let(
185
- :bridge_transfer_id,
186
- ModernTreasury::PaymentReference::ReferenceNumberType::TaggedSymbol
187
- )
188
173
  CHECK_NUMBER =
189
174
  T.let(
190
175
  :check_number,
@@ -682,21 +682,6 @@ module ModernTreasury
682
682
  :brale_transfer_id,
683
683
  ModernTreasury::ReturnObject::ReferenceNumber::ReferenceNumberType::TaggedSymbol
684
684
  )
685
- BRIDGE_DESTINATION_TRANSACTION_HASH =
686
- T.let(
687
- :bridge_destination_transaction_hash,
688
- ModernTreasury::ReturnObject::ReferenceNumber::ReferenceNumberType::TaggedSymbol
689
- )
690
- BRIDGE_SOURCE_TRANSACTION_HASH =
691
- T.let(
692
- :bridge_source_transaction_hash,
693
- ModernTreasury::ReturnObject::ReferenceNumber::ReferenceNumberType::TaggedSymbol
694
- )
695
- BRIDGE_TRANSFER_ID =
696
- T.let(
697
- :bridge_transfer_id,
698
- ModernTreasury::ReturnObject::ReferenceNumber::ReferenceNumberType::TaggedSymbol
699
- )
700
685
  CHECK_NUMBER =
701
686
  T.let(
702
687
  :check_number,
@@ -382,11 +382,6 @@ module ModernTreasury
382
382
  :brale,
383
383
  ModernTreasury::Transaction::VendorCodeType::TaggedSymbol
384
384
  )
385
- BRIDGE =
386
- T.let(
387
- :bridge,
388
- ModernTreasury::Transaction::VendorCodeType::TaggedSymbol
389
- )
390
385
  CLEARTOUCH =
391
386
  T.let(
392
387
  :cleartouch,
@@ -459,11 +454,6 @@ module ModernTreasury
459
454
  :paypal,
460
455
  ModernTreasury::Transaction::VendorCodeType::TaggedSymbol
461
456
  )
462
- PLAID =
463
- T.let(
464
- :plaid,
465
- ModernTreasury::Transaction::VendorCodeType::TaggedSymbol
466
- )
467
457
  PNC =
468
458
  T.let(:pnc, ModernTreasury::Transaction::VendorCodeType::TaggedSymbol)
469
459
  SIGNET =
@@ -504,9 +504,6 @@ module ModernTreasury
504
504
  | :bofa_end_to_end_id
505
505
  | :bofa_transaction_id
506
506
  | :brale_transfer_id
507
- | :bridge_destination_transaction_hash
508
- | :bridge_source_transaction_hash
509
- | :bridge_transfer_id
510
507
  | :check_number
511
508
  | :citibank_reference_number
512
509
  | :citibank_worldlink_clearing_system_reference_number
@@ -597,9 +594,6 @@ module ModernTreasury
597
594
  BOFA_END_TO_END_ID: :bofa_end_to_end_id
598
595
  BOFA_TRANSACTION_ID: :bofa_transaction_id
599
596
  BRALE_TRANSFER_ID: :brale_transfer_id
600
- BRIDGE_DESTINATION_TRANSACTION_HASH: :bridge_destination_transaction_hash
601
- BRIDGE_SOURCE_TRANSACTION_HASH: :bridge_source_transaction_hash
602
- BRIDGE_TRANSFER_ID: :bridge_transfer_id
603
597
  CHECK_NUMBER: :check_number
604
598
  CITIBANK_REFERENCE_NUMBER: :citibank_reference_number
605
599
  CITIBANK_WORLDLINK_CLEARING_SYSTEM_REFERENCE_NUMBER: :citibank_worldlink_clearing_system_reference_number
@@ -67,9 +67,6 @@ module ModernTreasury
67
67
  | :bofa_end_to_end_id
68
68
  | :bofa_transaction_id
69
69
  | :brale_transfer_id
70
- | :bridge_destination_transaction_hash
71
- | :bridge_source_transaction_hash
72
- | :bridge_transfer_id
73
70
  | :check_number
74
71
  | :citibank_reference_number
75
72
  | :citibank_worldlink_clearing_system_reference_number
@@ -160,9 +157,6 @@ module ModernTreasury
160
157
  BOFA_END_TO_END_ID: :bofa_end_to_end_id
161
158
  BOFA_TRANSACTION_ID: :bofa_transaction_id
162
159
  BRALE_TRANSFER_ID: :brale_transfer_id
163
- BRIDGE_DESTINATION_TRANSACTION_HASH: :bridge_destination_transaction_hash
164
- BRIDGE_SOURCE_TRANSACTION_HASH: :bridge_source_transaction_hash
165
- BRIDGE_TRANSFER_ID: :bridge_transfer_id
166
160
  CHECK_NUMBER: :check_number
167
161
  CITIBANK_REFERENCE_NUMBER: :citibank_reference_number
168
162
  CITIBANK_WORLDLINK_CLEARING_SYSTEM_REFERENCE_NUMBER: :citibank_worldlink_clearing_system_reference_number
@@ -453,9 +453,6 @@ module ModernTreasury
453
453
  | :bofa_end_to_end_id
454
454
  | :bofa_transaction_id
455
455
  | :brale_transfer_id
456
- | :bridge_destination_transaction_hash
457
- | :bridge_source_transaction_hash
458
- | :bridge_transfer_id
459
456
  | :check_number
460
457
  | :citibank_reference_number
461
458
  | :citibank_worldlink_clearing_system_reference_number
@@ -546,9 +543,6 @@ module ModernTreasury
546
543
  BOFA_END_TO_END_ID: :bofa_end_to_end_id
547
544
  BOFA_TRANSACTION_ID: :bofa_transaction_id
548
545
  BRALE_TRANSFER_ID: :brale_transfer_id
549
- BRIDGE_DESTINATION_TRANSACTION_HASH: :bridge_destination_transaction_hash
550
- BRIDGE_SOURCE_TRANSACTION_HASH: :bridge_source_transaction_hash
551
- BRIDGE_TRANSFER_ID: :bridge_transfer_id
552
546
  CHECK_NUMBER: :check_number
553
547
  CITIBANK_REFERENCE_NUMBER: :citibank_reference_number
554
548
  CITIBANK_WORLDLINK_CLEARING_SYSTEM_REFERENCE_NUMBER: :citibank_worldlink_clearing_system_reference_number
@@ -225,7 +225,6 @@ module ModernTreasury
225
225
  | :bankprov
226
226
  | :bnk_dev
227
227
  | :brale
228
- | :bridge
229
228
  | :cleartouch
230
229
  | :column
231
230
  | :cross_river
@@ -241,7 +240,6 @@ module ModernTreasury
241
240
  | :mt_fof
242
241
  | :mx
243
242
  | :paypal
244
- | :plaid
245
243
  | :pnc
246
244
  | :signet
247
245
  | :silvergate
@@ -258,7 +256,6 @@ module ModernTreasury
258
256
  BANKPROV: :bankprov
259
257
  BNK_DEV: :bnk_dev
260
258
  BRALE: :brale
261
- BRIDGE: :bridge
262
259
  CLEARTOUCH: :cleartouch
263
260
  COLUMN: :column
264
261
  CROSS_RIVER: :cross_river
@@ -274,7 +271,6 @@ module ModernTreasury
274
271
  MT_FOF: :mt_fof
275
272
  MX: :mx
276
273
  PAYPAL: :paypal
277
- PLAID: :plaid
278
274
  PNC: :pnc
279
275
  SIGNET: :signet
280
276
  SILVERGATE: :silvergate
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: modern_treasury
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.0
4
+ version: 0.9.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Modern Treasury
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2025-10-14 00:00:00.000000000 Z
11
+ date: 2025-10-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: connection_pool