activesupport 7.0.9 → 7.1.6

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 (177) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +1007 -326
  3. data/MIT-LICENSE +1 -1
  4. data/README.rdoc +4 -4
  5. data/lib/active_support/actionable_error.rb +3 -1
  6. data/lib/active_support/array_inquirer.rb +2 -0
  7. data/lib/active_support/backtrace_cleaner.rb +30 -5
  8. data/lib/active_support/benchmarkable.rb +1 -0
  9. data/lib/active_support/broadcast_logger.rb +251 -0
  10. data/lib/active_support/builder.rb +1 -1
  11. data/lib/active_support/cache/coder.rb +153 -0
  12. data/lib/active_support/cache/entry.rb +134 -0
  13. data/lib/active_support/cache/file_store.rb +36 -9
  14. data/lib/active_support/cache/mem_cache_store.rb +100 -76
  15. data/lib/active_support/cache/memory_store.rb +75 -23
  16. data/lib/active_support/cache/null_store.rb +6 -0
  17. data/lib/active_support/cache/redis_cache_store.rb +151 -141
  18. data/lib/active_support/cache/serializer_with_fallback.rb +175 -0
  19. data/lib/active_support/cache/strategy/local_cache.rb +29 -14
  20. data/lib/active_support/cache.rb +333 -253
  21. data/lib/active_support/callbacks.rb +44 -21
  22. data/lib/active_support/code_generator.rb +15 -10
  23. data/lib/active_support/concern.rb +4 -2
  24. data/lib/active_support/concurrency/load_interlock_aware_monitor.rb +42 -3
  25. data/lib/active_support/concurrency/null_lock.rb +13 -0
  26. data/lib/active_support/configurable.rb +10 -0
  27. data/lib/active_support/core_ext/array/conversions.rb +2 -1
  28. data/lib/active_support/core_ext/array.rb +0 -1
  29. data/lib/active_support/core_ext/class/subclasses.rb +13 -10
  30. data/lib/active_support/core_ext/date/conversions.rb +2 -1
  31. data/lib/active_support/core_ext/date.rb +0 -1
  32. data/lib/active_support/core_ext/date_and_time/calculations.rb +10 -0
  33. data/lib/active_support/core_ext/date_time/conversions.rb +6 -2
  34. data/lib/active_support/core_ext/date_time.rb +0 -1
  35. data/lib/active_support/core_ext/digest/uuid.rb +1 -10
  36. data/lib/active_support/core_ext/enumerable.rb +3 -75
  37. data/lib/active_support/core_ext/erb/util.rb +196 -0
  38. data/lib/active_support/core_ext/hash/conversions.rb +1 -1
  39. data/lib/active_support/core_ext/hash/deep_merge.rb +22 -14
  40. data/lib/active_support/core_ext/module/attribute_accessors.rb +6 -0
  41. data/lib/active_support/core_ext/module/attribute_accessors_per_thread.rb +34 -16
  42. data/lib/active_support/core_ext/module/delegation.rb +81 -37
  43. data/lib/active_support/core_ext/module/deprecation.rb +15 -12
  44. data/lib/active_support/core_ext/module/introspection.rb +0 -1
  45. data/lib/active_support/core_ext/numeric/bytes.rb +9 -0
  46. data/lib/active_support/core_ext/numeric/conversions.rb +2 -0
  47. data/lib/active_support/core_ext/numeric.rb +0 -1
  48. data/lib/active_support/core_ext/object/deep_dup.rb +16 -0
  49. data/lib/active_support/core_ext/object/inclusion.rb +13 -5
  50. data/lib/active_support/core_ext/object/instance_variables.rb +22 -12
  51. data/lib/active_support/core_ext/object/json.rb +10 -2
  52. data/lib/active_support/core_ext/object/with.rb +44 -0
  53. data/lib/active_support/core_ext/object/with_options.rb +3 -3
  54. data/lib/active_support/core_ext/object.rb +1 -0
  55. data/lib/active_support/core_ext/pathname/blank.rb +16 -0
  56. data/lib/active_support/core_ext/pathname/existence.rb +2 -0
  57. data/lib/active_support/core_ext/pathname.rb +1 -0
  58. data/lib/active_support/core_ext/range/conversions.rb +28 -7
  59. data/lib/active_support/core_ext/range/overlap.rb +40 -0
  60. data/lib/active_support/core_ext/range.rb +1 -2
  61. data/lib/active_support/core_ext/securerandom.rb +24 -12
  62. data/lib/active_support/core_ext/string/filters.rb +20 -14
  63. data/lib/active_support/core_ext/string/inflections.rb +16 -5
  64. data/lib/active_support/core_ext/string/output_safety.rb +38 -174
  65. data/lib/active_support/core_ext/thread/backtrace/location.rb +12 -0
  66. data/lib/active_support/core_ext/time/calculations.rb +18 -2
  67. data/lib/active_support/core_ext/time/conversions.rb +2 -2
  68. data/lib/active_support/core_ext/time/zones.rb +4 -4
  69. data/lib/active_support/core_ext/time.rb +0 -1
  70. data/lib/active_support/current_attributes.rb +15 -6
  71. data/lib/active_support/deep_mergeable.rb +53 -0
  72. data/lib/active_support/dependencies/autoload.rb +17 -12
  73. data/lib/active_support/deprecation/behaviors.rb +65 -42
  74. data/lib/active_support/deprecation/constant_accessor.rb +5 -4
  75. data/lib/active_support/deprecation/deprecators.rb +104 -0
  76. data/lib/active_support/deprecation/disallowed.rb +3 -5
  77. data/lib/active_support/deprecation/instance_delegator.rb +31 -4
  78. data/lib/active_support/deprecation/method_wrappers.rb +6 -23
  79. data/lib/active_support/deprecation/proxy_wrappers.rb +37 -22
  80. data/lib/active_support/deprecation/reporting.rb +35 -21
  81. data/lib/active_support/deprecation.rb +32 -5
  82. data/lib/active_support/deprecator.rb +7 -0
  83. data/lib/active_support/descendants_tracker.rb +104 -132
  84. data/lib/active_support/duration/iso8601_serializer.rb +0 -2
  85. data/lib/active_support/duration.rb +2 -1
  86. data/lib/active_support/encrypted_configuration.rb +30 -9
  87. data/lib/active_support/encrypted_file.rb +8 -3
  88. data/lib/active_support/environment_inquirer.rb +22 -2
  89. data/lib/active_support/error_reporter/test_helper.rb +15 -0
  90. data/lib/active_support/error_reporter.rb +121 -35
  91. data/lib/active_support/execution_wrapper.rb +4 -4
  92. data/lib/active_support/file_update_checker.rb +4 -2
  93. data/lib/active_support/fork_tracker.rb +10 -2
  94. data/lib/active_support/gem_version.rb +3 -3
  95. data/lib/active_support/gzip.rb +2 -0
  96. data/lib/active_support/hash_with_indifferent_access.rb +35 -17
  97. data/lib/active_support/html_safe_translation.rb +16 -6
  98. data/lib/active_support/i18n.rb +1 -1
  99. data/lib/active_support/i18n_railtie.rb +20 -13
  100. data/lib/active_support/inflector/inflections.rb +2 -0
  101. data/lib/active_support/inflector/methods.rb +22 -10
  102. data/lib/active_support/inflector/transliterate.rb +3 -1
  103. data/lib/active_support/isolated_execution_state.rb +26 -22
  104. data/lib/active_support/json/decoding.rb +2 -1
  105. data/lib/active_support/json/encoding.rb +25 -43
  106. data/lib/active_support/key_generator.rb +9 -1
  107. data/lib/active_support/lazy_load_hooks.rb +6 -4
  108. data/lib/active_support/locale/en.yml +2 -0
  109. data/lib/active_support/log_subscriber.rb +85 -33
  110. data/lib/active_support/logger.rb +9 -60
  111. data/lib/active_support/logger_thread_safe_level.rb +9 -24
  112. data/lib/active_support/message_encryptor.rb +197 -53
  113. data/lib/active_support/message_encryptors.rb +141 -0
  114. data/lib/active_support/message_pack/cache_serializer.rb +23 -0
  115. data/lib/active_support/message_pack/extensions.rb +292 -0
  116. data/lib/active_support/message_pack/serializer.rb +63 -0
  117. data/lib/active_support/message_pack.rb +50 -0
  118. data/lib/active_support/message_verifier.rb +212 -93
  119. data/lib/active_support/message_verifiers.rb +135 -0
  120. data/lib/active_support/messages/codec.rb +65 -0
  121. data/lib/active_support/messages/metadata.rb +111 -45
  122. data/lib/active_support/messages/rotation_coordinator.rb +93 -0
  123. data/lib/active_support/messages/rotator.rb +34 -32
  124. data/lib/active_support/messages/serializer_with_fallback.rb +158 -0
  125. data/lib/active_support/multibyte/chars.rb +2 -0
  126. data/lib/active_support/multibyte/unicode.rb +9 -37
  127. data/lib/active_support/notifications/fanout.rb +245 -81
  128. data/lib/active_support/notifications/instrumenter.rb +71 -14
  129. data/lib/active_support/notifications.rb +1 -1
  130. data/lib/active_support/number_helper/number_converter.rb +2 -2
  131. data/lib/active_support/number_helper/number_to_human_size_converter.rb +1 -1
  132. data/lib/active_support/number_helper/number_to_phone_converter.rb +1 -0
  133. data/lib/active_support/ordered_hash.rb +3 -3
  134. data/lib/active_support/ordered_options.rb +14 -0
  135. data/lib/active_support/parameter_filter.rb +84 -69
  136. data/lib/active_support/proxy_object.rb +2 -0
  137. data/lib/active_support/railtie.rb +33 -21
  138. data/lib/active_support/reloader.rb +12 -4
  139. data/lib/active_support/rescuable.rb +2 -0
  140. data/lib/active_support/secure_compare_rotator.rb +16 -9
  141. data/lib/active_support/string_inquirer.rb +3 -1
  142. data/lib/active_support/subscriber.rb +9 -27
  143. data/lib/active_support/syntax_error_proxy.rb +60 -0
  144. data/lib/active_support/tagged_logging.rb +64 -24
  145. data/lib/active_support/test_case.rb +153 -6
  146. data/lib/active_support/testing/assertions.rb +25 -9
  147. data/lib/active_support/testing/autorun.rb +0 -2
  148. data/lib/active_support/testing/constant_stubbing.rb +32 -0
  149. data/lib/active_support/testing/deprecation.rb +25 -25
  150. data/lib/active_support/testing/error_reporter_assertions.rb +107 -0
  151. data/lib/active_support/testing/isolation.rb +1 -1
  152. data/lib/active_support/testing/method_call_assertions.rb +21 -8
  153. data/lib/active_support/testing/parallelize_executor.rb +8 -3
  154. data/lib/active_support/testing/setup_and_teardown.rb +2 -0
  155. data/lib/active_support/testing/stream.rb +1 -1
  156. data/lib/active_support/testing/strict_warnings.rb +39 -0
  157. data/lib/active_support/testing/time_helpers.rb +37 -15
  158. data/lib/active_support/time_with_zone.rb +4 -14
  159. data/lib/active_support/values/time_zone.rb +18 -7
  160. data/lib/active_support/version.rb +1 -1
  161. data/lib/active_support/xml_mini/jdom.rb +3 -10
  162. data/lib/active_support/xml_mini/nokogiri.rb +1 -1
  163. data/lib/active_support/xml_mini/nokogirisax.rb +1 -1
  164. data/lib/active_support/xml_mini/rexml.rb +1 -1
  165. data/lib/active_support/xml_mini.rb +2 -2
  166. data/lib/active_support.rb +14 -3
  167. metadata +45 -14
  168. data/lib/active_support/core_ext/array/deprecated_conversions.rb +0 -25
  169. data/lib/active_support/core_ext/date/deprecated_conversions.rb +0 -40
  170. data/lib/active_support/core_ext/date_time/deprecated_conversions.rb +0 -36
  171. data/lib/active_support/core_ext/numeric/deprecated_conversions.rb +0 -60
  172. data/lib/active_support/core_ext/range/deprecated_conversions.rb +0 -36
  173. data/lib/active_support/core_ext/range/include_time_with_zone.rb +0 -5
  174. data/lib/active_support/core_ext/range/overlaps.rb +0 -36
  175. data/lib/active_support/core_ext/time/deprecated_conversions.rb +0 -73
  176. data/lib/active_support/core_ext/uri.rb +0 -5
  177. data/lib/active_support/per_thread_registry.rb +0 -65
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: activesupport
3
3
  version: !ruby/object:Gem::Version
4
- version: 7.0.9
4
+ version: 7.1.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - David Heinemeier Hansson
@@ -63,6 +63,20 @@ dependencies:
63
63
  - - ">="
64
64
  - !ruby/object:Gem::Version
65
65
  version: 1.0.2
66
+ - !ruby/object:Gem::Dependency
67
+ name: connection_pool
68
+ requirement: !ruby/object:Gem::Requirement
69
+ requirements:
70
+ - - ">="
71
+ - !ruby/object:Gem::Version
72
+ version: 2.2.5
73
+ type: :runtime
74
+ prerelease: false
75
+ version_requirements: !ruby/object:Gem::Requirement
76
+ requirements:
77
+ - - ">="
78
+ - !ruby/object:Gem::Version
79
+ version: 2.2.5
66
80
  - !ruby/object:Gem::Dependency
67
81
  name: minitest
68
82
  requirement: !ruby/object:Gem::Requirement
@@ -192,19 +206,24 @@ files:
192
206
  - lib/active_support/array_inquirer.rb
193
207
  - lib/active_support/backtrace_cleaner.rb
194
208
  - lib/active_support/benchmarkable.rb
209
+ - lib/active_support/broadcast_logger.rb
195
210
  - lib/active_support/builder.rb
196
211
  - lib/active_support/cache.rb
212
+ - lib/active_support/cache/coder.rb
213
+ - lib/active_support/cache/entry.rb
197
214
  - lib/active_support/cache/file_store.rb
198
215
  - lib/active_support/cache/mem_cache_store.rb
199
216
  - lib/active_support/cache/memory_store.rb
200
217
  - lib/active_support/cache/null_store.rb
201
218
  - lib/active_support/cache/redis_cache_store.rb
219
+ - lib/active_support/cache/serializer_with_fallback.rb
202
220
  - lib/active_support/cache/strategy/local_cache.rb
203
221
  - lib/active_support/cache/strategy/local_cache_middleware.rb
204
222
  - lib/active_support/callbacks.rb
205
223
  - lib/active_support/code_generator.rb
206
224
  - lib/active_support/concern.rb
207
225
  - lib/active_support/concurrency/load_interlock_aware_monitor.rb
226
+ - lib/active_support/concurrency/null_lock.rb
208
227
  - lib/active_support/concurrency/share_lock.rb
209
228
  - lib/active_support/configurable.rb
210
229
  - lib/active_support/configuration_file.rb
@@ -212,7 +231,6 @@ files:
212
231
  - lib/active_support/core_ext/array.rb
213
232
  - lib/active_support/core_ext/array/access.rb
214
233
  - lib/active_support/core_ext/array/conversions.rb
215
- - lib/active_support/core_ext/array/deprecated_conversions.rb
216
234
  - lib/active_support/core_ext/array/extract.rb
217
235
  - lib/active_support/core_ext/array/extract_options.rb
218
236
  - lib/active_support/core_ext/array/grouping.rb
@@ -230,7 +248,6 @@ files:
230
248
  - lib/active_support/core_ext/date/blank.rb
231
249
  - lib/active_support/core_ext/date/calculations.rb
232
250
  - lib/active_support/core_ext/date/conversions.rb
233
- - lib/active_support/core_ext/date/deprecated_conversions.rb
234
251
  - lib/active_support/core_ext/date/zones.rb
235
252
  - lib/active_support/core_ext/date_and_time/calculations.rb
236
253
  - lib/active_support/core_ext/date_and_time/compatibility.rb
@@ -241,10 +258,10 @@ files:
241
258
  - lib/active_support/core_ext/date_time/calculations.rb
242
259
  - lib/active_support/core_ext/date_time/compatibility.rb
243
260
  - lib/active_support/core_ext/date_time/conversions.rb
244
- - lib/active_support/core_ext/date_time/deprecated_conversions.rb
245
261
  - lib/active_support/core_ext/digest.rb
246
262
  - lib/active_support/core_ext/digest/uuid.rb
247
263
  - lib/active_support/core_ext/enumerable.rb
264
+ - lib/active_support/core_ext/erb/util.rb
248
265
  - lib/active_support/core_ext/file.rb
249
266
  - lib/active_support/core_ext/file/atomic.rb
250
267
  - lib/active_support/core_ext/hash.rb
@@ -281,7 +298,6 @@ files:
281
298
  - lib/active_support/core_ext/numeric.rb
282
299
  - lib/active_support/core_ext/numeric/bytes.rb
283
300
  - lib/active_support/core_ext/numeric/conversions.rb
284
- - lib/active_support/core_ext/numeric/deprecated_conversions.rb
285
301
  - lib/active_support/core_ext/numeric/time.rb
286
302
  - lib/active_support/core_ext/object.rb
287
303
  - lib/active_support/core_ext/object/acts_like.rb
@@ -295,16 +311,16 @@ files:
295
311
  - lib/active_support/core_ext/object/to_param.rb
296
312
  - lib/active_support/core_ext/object/to_query.rb
297
313
  - lib/active_support/core_ext/object/try.rb
314
+ - lib/active_support/core_ext/object/with.rb
298
315
  - lib/active_support/core_ext/object/with_options.rb
299
316
  - lib/active_support/core_ext/pathname.rb
317
+ - lib/active_support/core_ext/pathname/blank.rb
300
318
  - lib/active_support/core_ext/pathname/existence.rb
301
319
  - lib/active_support/core_ext/range.rb
302
320
  - lib/active_support/core_ext/range/compare_range.rb
303
321
  - lib/active_support/core_ext/range/conversions.rb
304
- - lib/active_support/core_ext/range/deprecated_conversions.rb
305
322
  - lib/active_support/core_ext/range/each.rb
306
- - lib/active_support/core_ext/range/include_time_with_zone.rb
307
- - lib/active_support/core_ext/range/overlaps.rb
323
+ - lib/active_support/core_ext/range/overlap.rb
308
324
  - lib/active_support/core_ext/regexp.rb
309
325
  - lib/active_support/core_ext/securerandom.rb
310
326
  - lib/active_support/core_ext/string.rb
@@ -323,16 +339,16 @@ files:
323
339
  - lib/active_support/core_ext/string/zones.rb
324
340
  - lib/active_support/core_ext/symbol.rb
325
341
  - lib/active_support/core_ext/symbol/starts_ends_with.rb
342
+ - lib/active_support/core_ext/thread/backtrace/location.rb
326
343
  - lib/active_support/core_ext/time.rb
327
344
  - lib/active_support/core_ext/time/acts_like.rb
328
345
  - lib/active_support/core_ext/time/calculations.rb
329
346
  - lib/active_support/core_ext/time/compatibility.rb
330
347
  - lib/active_support/core_ext/time/conversions.rb
331
- - lib/active_support/core_ext/time/deprecated_conversions.rb
332
348
  - lib/active_support/core_ext/time/zones.rb
333
- - lib/active_support/core_ext/uri.rb
334
349
  - lib/active_support/current_attributes.rb
335
350
  - lib/active_support/current_attributes/test_helper.rb
351
+ - lib/active_support/deep_mergeable.rb
336
352
  - lib/active_support/dependencies.rb
337
353
  - lib/active_support/dependencies/autoload.rb
338
354
  - lib/active_support/dependencies/interlock.rb
@@ -340,11 +356,13 @@ files:
340
356
  - lib/active_support/deprecation.rb
341
357
  - lib/active_support/deprecation/behaviors.rb
342
358
  - lib/active_support/deprecation/constant_accessor.rb
359
+ - lib/active_support/deprecation/deprecators.rb
343
360
  - lib/active_support/deprecation/disallowed.rb
344
361
  - lib/active_support/deprecation/instance_delegator.rb
345
362
  - lib/active_support/deprecation/method_wrappers.rb
346
363
  - lib/active_support/deprecation/proxy_wrappers.rb
347
364
  - lib/active_support/deprecation/reporting.rb
365
+ - lib/active_support/deprecator.rb
348
366
  - lib/active_support/descendants_tracker.rb
349
367
  - lib/active_support/digest.rb
350
368
  - lib/active_support/duration.rb
@@ -354,6 +372,7 @@ files:
354
372
  - lib/active_support/encrypted_file.rb
355
373
  - lib/active_support/environment_inquirer.rb
356
374
  - lib/active_support/error_reporter.rb
375
+ - lib/active_support/error_reporter/test_helper.rb
357
376
  - lib/active_support/evented_file_update_checker.rb
358
377
  - lib/active_support/execution_context.rb
359
378
  - lib/active_support/execution_context/test_helper.rb
@@ -387,10 +406,19 @@ files:
387
406
  - lib/active_support/logger_silence.rb
388
407
  - lib/active_support/logger_thread_safe_level.rb
389
408
  - lib/active_support/message_encryptor.rb
409
+ - lib/active_support/message_encryptors.rb
410
+ - lib/active_support/message_pack.rb
411
+ - lib/active_support/message_pack/cache_serializer.rb
412
+ - lib/active_support/message_pack/extensions.rb
413
+ - lib/active_support/message_pack/serializer.rb
390
414
  - lib/active_support/message_verifier.rb
415
+ - lib/active_support/message_verifiers.rb
416
+ - lib/active_support/messages/codec.rb
391
417
  - lib/active_support/messages/metadata.rb
392
418
  - lib/active_support/messages/rotation_configuration.rb
419
+ - lib/active_support/messages/rotation_coordinator.rb
393
420
  - lib/active_support/messages/rotator.rb
421
+ - lib/active_support/messages/serializer_with_fallback.rb
394
422
  - lib/active_support/multibyte.rb
395
423
  - lib/active_support/multibyte/chars.rb
396
424
  - lib/active_support/multibyte/unicode.rb
@@ -411,7 +439,6 @@ files:
411
439
  - lib/active_support/ordered_hash.rb
412
440
  - lib/active_support/ordered_options.rb
413
441
  - lib/active_support/parameter_filter.rb
414
- - lib/active_support/per_thread_registry.rb
415
442
  - lib/active_support/proxy_object.rb
416
443
  - lib/active_support/rails.rb
417
444
  - lib/active_support/railtie.rb
@@ -422,13 +449,16 @@ files:
422
449
  - lib/active_support/security_utils.rb
423
450
  - lib/active_support/string_inquirer.rb
424
451
  - lib/active_support/subscriber.rb
452
+ - lib/active_support/syntax_error_proxy.rb
425
453
  - lib/active_support/tagged_logging.rb
426
454
  - lib/active_support/test_case.rb
427
455
  - lib/active_support/testing/assertions.rb
428
456
  - lib/active_support/testing/autorun.rb
429
457
  - lib/active_support/testing/constant_lookup.rb
458
+ - lib/active_support/testing/constant_stubbing.rb
430
459
  - lib/active_support/testing/declarative.rb
431
460
  - lib/active_support/testing/deprecation.rb
461
+ - lib/active_support/testing/error_reporter_assertions.rb
432
462
  - lib/active_support/testing/file_fixtures.rb
433
463
  - lib/active_support/testing/isolation.rb
434
464
  - lib/active_support/testing/method_call_assertions.rb
@@ -438,6 +468,7 @@ files:
438
468
  - lib/active_support/testing/parallelize_executor.rb
439
469
  - lib/active_support/testing/setup_and_teardown.rb
440
470
  - lib/active_support/testing/stream.rb
471
+ - lib/active_support/testing/strict_warnings.rb
441
472
  - lib/active_support/testing/tagged_logging.rb
442
473
  - lib/active_support/testing/time_helpers.rb
443
474
  - lib/active_support/time.rb
@@ -456,10 +487,10 @@ licenses:
456
487
  - MIT
457
488
  metadata:
458
489
  bug_tracker_uri: https://github.com/rails/rails/issues
459
- changelog_uri: https://github.com/rails/rails/blob/v7.0.9/activesupport/CHANGELOG.md
460
- documentation_uri: https://api.rubyonrails.org/v7.0.9/
490
+ changelog_uri: https://github.com/rails/rails/blob/v7.1.6/activesupport/CHANGELOG.md
491
+ documentation_uri: https://api.rubyonrails.org/v7.1.6/
461
492
  mailing_list_uri: https://discuss.rubyonrails.org/c/rubyonrails-talk
462
- source_code_uri: https://github.com/rails/rails/tree/v7.0.9/activesupport
493
+ source_code_uri: https://github.com/rails/rails/tree/v7.1.6/activesupport
463
494
  rubygems_mfa_required: 'true'
464
495
  rdoc_options:
465
496
  - "--encoding"
@@ -1,25 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- class Array
4
- NOT_SET = Object.new # :nodoc:
5
- def to_s(format = NOT_SET) # :nodoc:
6
- case format
7
- when :db
8
- ActiveSupport::Deprecation.warn(
9
- "Array#to_s(#{format.inspect}) is deprecated. Please use Array#to_fs(#{format.inspect}) instead."
10
- )
11
- if empty?
12
- "null"
13
- else
14
- collect(&:id).join(",")
15
- end
16
- when NOT_SET
17
- to_default_s
18
- else
19
- ActiveSupport::Deprecation.warn(
20
- "Array#to_s(#{format.inspect}) is deprecated. Please use Array#to_fs(#{format.inspect}) instead."
21
- )
22
- to_default_s
23
- end
24
- end
25
- end
@@ -1,40 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require "date"
4
-
5
- class Date
6
- NOT_SET = Object.new # :nodoc:
7
- def to_s(format = NOT_SET) # :nodoc:
8
- if formatter = DATE_FORMATS[format]
9
- ActiveSupport::Deprecation.warn(
10
- "Date#to_s(#{format.inspect}) is deprecated. Please use Date#to_fs(#{format.inspect}) instead."
11
- )
12
- if formatter.respond_to?(:call)
13
- formatter.call(self).to_s
14
- else
15
- strftime(formatter)
16
- end
17
- elsif format == NOT_SET
18
- if formatter = DATE_FORMATS[:default]
19
- ActiveSupport::Deprecation.warn(<<-MSG.squish)
20
- Using a :default format for Date#to_s is deprecated. Please use Date#to_fs instead. If you fixed all places
21
- inside your application that you see this deprecation, you can set
22
- `ENV['RAILS_DISABLE_DEPRECATED_TO_S_CONVERSION']` to `"true"` in the `config/application.rb` file before
23
- the `Bundler.require` call to fix all the callers outside of your application.
24
- MSG
25
- if formatter.respond_to?(:call)
26
- formatter.call(self).to_s
27
- else
28
- strftime(formatter)
29
- end
30
- else
31
- to_default_s
32
- end
33
- else
34
- ActiveSupport::Deprecation.warn(
35
- "Date#to_s(#{format.inspect}) is deprecated. Please use Date#to_fs(#{format.inspect}) instead."
36
- )
37
- to_default_s
38
- end
39
- end
40
- end
@@ -1,36 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require "date"
4
-
5
- class DateTime
6
- NOT_SET = Object.new # :nodoc:
7
- def to_s(format = NOT_SET) # :nodoc:
8
- if formatter = ::Time::DATE_FORMATS[format]
9
- ActiveSupport::Deprecation.warn(
10
- "DateTime#to_s(#{format.inspect}) is deprecated. Please use DateTime#to_fs(#{format.inspect}) instead."
11
- )
12
- formatter.respond_to?(:call) ? formatter.call(self).to_s : strftime(formatter)
13
- elsif format == NOT_SET
14
- if formatter = ::Time::DATE_FORMATS[:default]
15
- ActiveSupport::Deprecation.warn(<<-MSG.squish)
16
- Using a :default format for DateTime#to_s is deprecated. Please use DateTime#to_fs instead. If you fixed all
17
- places inside your application that you see this deprecation, you can set
18
- `ENV['RAILS_DISABLE_DEPRECATED_TO_S_CONVERSION']` to `"true"` in the `config/application.rb` file before
19
- the `Bundler.require` call to fix all the callers outside of your application.
20
- MSG
21
- if formatter.respond_to?(:call)
22
- formatter.call(self).to_s
23
- else
24
- strftime(formatter)
25
- end
26
- else
27
- to_default_s
28
- end
29
- else
30
- ActiveSupport::Deprecation.warn(
31
- "DateTime#to_s(#{format.inspect}) is deprecated. Please use DateTime#to_fs(#{format.inspect}) instead."
32
- )
33
- to_default_s
34
- end
35
- end
36
- end
@@ -1,60 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module ActiveSupport
4
- module DeprecatedNumericWithFormat # :nodoc:
5
- def to_s(format = nil, options = nil)
6
- return super() if format.nil?
7
-
8
- case format
9
- when Integer, String
10
- super(format)
11
- when :phone
12
- ActiveSupport::Deprecation.warn(
13
- "#{self.class}#to_s(#{format.inspect}) is deprecated. Please use #{self.class}#to_fs(#{format.inspect}) instead."
14
- )
15
- ActiveSupport::NumberHelper.number_to_phone(self, options || {})
16
- when :currency
17
- ActiveSupport::Deprecation.warn(
18
- "#{self.class}#to_s(#{format.inspect}) is deprecated. Please use #{self.class}#to_fs(#{format.inspect}) instead."
19
- )
20
- ActiveSupport::NumberHelper.number_to_currency(self, options || {})
21
- when :percentage
22
- ActiveSupport::Deprecation.warn(
23
- "#{self.class}#to_s(#{format.inspect}) is deprecated. Please use #{self.class}#to_fs(#{format.inspect}) instead."
24
- )
25
- ActiveSupport::NumberHelper.number_to_percentage(self, options || {})
26
- when :delimited
27
- ActiveSupport::Deprecation.warn(
28
- "#{self.class}#to_s(#{format.inspect}) is deprecated. Please use #{self.class}#to_fs(#{format.inspect}) instead."
29
- )
30
- ActiveSupport::NumberHelper.number_to_delimited(self, options || {})
31
- when :rounded
32
- ActiveSupport::Deprecation.warn(
33
- "#{self.class}#to_s(#{format.inspect}) is deprecated. Please use #{self.class}#to_fs(#{format.inspect}) instead."
34
- )
35
- ActiveSupport::NumberHelper.number_to_rounded(self, options || {})
36
- when :human
37
- ActiveSupport::Deprecation.warn(
38
- "#{self.class}#to_s(#{format.inspect}) is deprecated. Please use #{self.class}#to_fs(#{format.inspect}) instead."
39
- )
40
- ActiveSupport::NumberHelper.number_to_human(self, options || {})
41
- when :human_size
42
- ActiveSupport::Deprecation.warn(
43
- "#{self.class}#to_s(#{format.inspect}) is deprecated. Please use #{self.class}#to_fs(#{format.inspect}) instead."
44
- )
45
- ActiveSupport::NumberHelper.number_to_human_size(self, options || {})
46
- when Symbol
47
- ActiveSupport::Deprecation.warn(
48
- "#{self.class}#to_s(#{format.inspect}) is deprecated. Please use #{self.class}#to_fs(#{format.inspect}) instead."
49
- )
50
- super()
51
- else
52
- super(format)
53
- end
54
- end
55
- end
56
- end
57
-
58
- Integer.prepend ActiveSupport::DeprecatedNumericWithFormat
59
- Float.prepend ActiveSupport::DeprecatedNumericWithFormat
60
- BigDecimal.prepend ActiveSupport::DeprecatedNumericWithFormat
@@ -1,36 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module ActiveSupport
4
- module DeprecatedRangeWithFormat # :nodoc:
5
- NOT_SET = Object.new # :nodoc:
6
- def to_s(format = NOT_SET)
7
- if formatter = RangeWithFormat::RANGE_FORMATS[format]
8
- ActiveSupport::Deprecation.warn(
9
- "Range#to_s(#{format.inspect}) is deprecated. Please use Range#to_fs(#{format.inspect}) instead."
10
- )
11
- formatter.call(first, last)
12
- elsif format == NOT_SET
13
- if formatter = RangeWithFormat::RANGE_FORMATS[:default]
14
- ActiveSupport::Deprecation.warn(<<-MSG.squish)
15
- Using a :default format for Range#to_s is deprecated. Please use Range#to_fs instead. If you fixed all
16
- places inside your application that you see this deprecation, you can set
17
- `ENV['RAILS_DISABLE_DEPRECATED_TO_S_CONVERSION']` to `"true"` in the `config/application.rb` file before
18
- the `Bundler.require` call to fix all the callers outside of your application.
19
- MSG
20
- formatter.call(first, last)
21
- else
22
- super()
23
- end
24
- else
25
- ActiveSupport::Deprecation.warn(
26
- "Range#to_s(#{format.inspect}) is deprecated. Please use Range#to_fs(#{format.inspect}) instead."
27
- )
28
- super()
29
- end
30
- end
31
- alias_method :to_default_s, :to_s
32
- deprecate :to_default_s
33
- end
34
- end
35
-
36
- Range.prepend(ActiveSupport::DeprecatedRangeWithFormat)
@@ -1,5 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- ActiveSupport::Deprecation.warn(<<-MSG.squish)
4
- `active_support/core_ext/range/include_time_with_zone` is deprecated and will be removed in Rails 7.1.
5
- MSG
@@ -1,36 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- class Range
4
- # Compare two ranges and see if they overlap each other
5
- # (1..5).overlaps?(4..6) # => true
6
- # (1..5).overlaps?(7..9) # => false
7
- def overlaps?(other)
8
- raise TypeError unless other.is_a? Range
9
-
10
- self_begin = self.begin
11
- other_end = other.end
12
- other_excl = other.exclude_end?
13
-
14
- return false if _empty_range?(self_begin, other_end, other_excl)
15
-
16
- other_begin = other.begin
17
- self_end = self.end
18
- self_excl = self.exclude_end?
19
-
20
- return false if _empty_range?(other_begin, self_end, self_excl)
21
- return true if self_begin == other_begin
22
-
23
- return false if _empty_range?(self_begin, self_end, self_excl)
24
- return false if _empty_range?(other_begin, other_end, other_excl)
25
-
26
- true
27
- end
28
-
29
- private
30
- def _empty_range?(b, e, excl)
31
- return false if b.nil? || e.nil?
32
-
33
- comp = b <=> e
34
- comp.nil? || comp > 0 || (comp == 0 && excl)
35
- end
36
- end
@@ -1,73 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require "time"
4
-
5
- class Time
6
- NOT_SET = Object.new # :nodoc:
7
- def to_s(format = NOT_SET) # :nodoc:
8
- if formatter = DATE_FORMATS[format]
9
- ActiveSupport::Deprecation.warn(
10
- "Time#to_s(#{format.inspect}) is deprecated. Please use Time#to_fs(#{format.inspect}) instead."
11
- )
12
- formatter.respond_to?(:call) ? formatter.call(self).to_s : strftime(formatter)
13
- elsif format == NOT_SET
14
- if formatter = ::Time::DATE_FORMATS[:default]
15
- ActiveSupport::Deprecation.warn(<<-MSG.squish)
16
- Using a :default format for Time#to_s is deprecated. Please use Time#to_fs instead. If you fixed all places
17
- inside your application that you see this deprecation, you can set
18
- `ENV['RAILS_DISABLE_DEPRECATED_TO_S_CONVERSION']` to `"true"` in the `config/application.rb` file before
19
- the `Bundler.require` call to fix all the callers outside of your application.
20
- MSG
21
- if formatter.respond_to?(:call)
22
- formatter.call(self).to_s
23
- else
24
- strftime(formatter)
25
- end
26
- else
27
- to_default_s
28
- end
29
- else
30
- ActiveSupport::Deprecation.warn(
31
- "Time#to_s(#{format.inspect}) is deprecated. Please use Time#to_fs(#{format.inspect}) instead."
32
- )
33
- to_default_s
34
- end
35
- end
36
- end
37
-
38
- module ActiveSupport
39
- class TimeWithZone
40
- NOT_SET = Object.new # :nodoc:
41
-
42
- def to_s(format = NOT_SET) # :nodoc:
43
- if format == :db
44
- ActiveSupport::Deprecation.warn(
45
- "TimeWithZone#to_s(:db) is deprecated. Please use TimeWithZone#to_fs(:db) instead."
46
- )
47
- utc.to_fs(format)
48
- elsif formatter = ::Time::DATE_FORMATS[format]
49
- ActiveSupport::Deprecation.warn(
50
- "TimeWithZone#to_s(#{format.inspect}) is deprecated. Please use TimeWithZone#to_fs(#{format.inspect}) instead."
51
- )
52
- formatter.respond_to?(:call) ? formatter.call(self).to_s : strftime(formatter)
53
- elsif format == NOT_SET
54
- if formatter = ::Time::DATE_FORMATS[:default]
55
- ActiveSupport::Deprecation.warn(<<-MSG.squish)
56
- Using a :default format for TimeWithZone#to_s is deprecated. Please use TimeWithZone#to_fs instead.
57
- If you fixed all places inside your application that you see this deprecation, you can set
58
- `ENV['RAILS_DISABLE_DEPRECATED_TO_S_CONVERSION']` to `"true"` in the `config/application.rb` file before
59
- the `Bundler.require` call to fix all the callers outside of your application.
60
- MSG
61
- formatter.respond_to?(:call) ? formatter.call(self).to_s : strftime(formatter)
62
- else
63
- "#{time.strftime("%Y-%m-%d %H:%M:%S")} #{formatted_offset(false, 'UTC')}" # mimicking Ruby Time#to_s format
64
- end
65
- else
66
- ActiveSupport::Deprecation.warn(
67
- "TimeWithZone#to_s(#{format.inspect}) is deprecated. Please use TimeWithZone#to_fs(#{format.inspect}) instead."
68
- )
69
- "#{time.strftime("%Y-%m-%d %H:%M:%S")} #{formatted_offset(false, 'UTC')}" # mimicking Ruby Time#to_s format
70
- end
71
- end
72
- end
73
- end
@@ -1,5 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- ActiveSupport::Deprecation.warn(<<-MSG.squish)
4
- `active_support/core_ext/uri` is deprecated and will be removed in Rails 7.1.
5
- MSG
@@ -1,65 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require "active_support/core_ext/module/delegation"
4
-
5
- module ActiveSupport
6
- # NOTE: This approach has been deprecated for end-user code in favor of {thread_mattr_accessor}[rdoc-ref:Module#thread_mattr_accessor] and friends.
7
- # Please use that approach instead.
8
- #
9
- # This module is used to encapsulate access to thread local variables.
10
- #
11
- # Instead of polluting the thread locals namespace:
12
- #
13
- # Thread.current[:connection_handler]
14
- #
15
- # you define a class that extends this module:
16
- #
17
- # module ActiveRecord
18
- # class RuntimeRegistry
19
- # extend ActiveSupport::PerThreadRegistry
20
- #
21
- # attr_accessor :connection_handler
22
- # end
23
- # end
24
- #
25
- # and invoke the declared instance accessors as class methods. So
26
- #
27
- # ActiveRecord::RuntimeRegistry.connection_handler = connection_handler
28
- #
29
- # sets a connection handler local to the current thread, and
30
- #
31
- # ActiveRecord::RuntimeRegistry.connection_handler
32
- #
33
- # returns a connection handler local to the current thread.
34
- #
35
- # This feature is accomplished by instantiating the class and storing the
36
- # instance as a thread local keyed by the class name. In the example above
37
- # a key "ActiveRecord::RuntimeRegistry" is stored in <tt>Thread.current</tt>.
38
- # The class methods proxy to said thread local instance.
39
- #
40
- # If the class has an initializer, it must accept no arguments.
41
- module PerThreadRegistry
42
- def self.extended(object)
43
- ActiveSupport::Deprecation.warn(<<~MSG)
44
- ActiveSupport::PerThreadRegistry is deprecated and will be removed in Rails 7.1.
45
- Use `Module#thread_mattr_accessor` instead.
46
- MSG
47
- object.instance_variable_set :@per_thread_registry_key, object.name.freeze
48
- end
49
-
50
- def instance
51
- Thread.current[@per_thread_registry_key] ||= new
52
- end
53
-
54
- private
55
- def method_missing(name, *args, &block)
56
- # Caches the method definition as a singleton method of the receiver.
57
- #
58
- # By letting #delegate handle it, we avoid an enclosure that'll capture args.
59
- singleton_class.delegate name, to: :instance
60
-
61
- send(name, *args, &block)
62
- end
63
- ruby2_keywords(:method_missing)
64
- end
65
- end