activesupport 7.0.8 → 7.1.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (178) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +921 -287
  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 +25 -5
  8. data/lib/active_support/benchmarkable.rb +1 -0
  9. data/lib/active_support/broadcast_logger.rb +250 -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 +37 -10
  14. data/lib/active_support/cache/mem_cache_store.rb +100 -76
  15. data/lib/active_support/cache/memory_store.rb +78 -24
  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 +331 -252
  21. data/lib/active_support/callbacks.rb +44 -21
  22. data/lib/active_support/concern.rb +4 -2
  23. data/lib/active_support/concurrency/load_interlock_aware_monitor.rb +42 -3
  24. data/lib/active_support/concurrency/null_lock.rb +13 -0
  25. data/lib/active_support/configurable.rb +10 -0
  26. data/lib/active_support/core_ext/array/conversions.rb +2 -1
  27. data/lib/active_support/core_ext/array.rb +0 -1
  28. data/lib/active_support/core_ext/class/subclasses.rb +13 -10
  29. data/lib/active_support/core_ext/date/conversions.rb +2 -1
  30. data/lib/active_support/core_ext/date.rb +0 -1
  31. data/lib/active_support/core_ext/date_and_time/calculations.rb +10 -0
  32. data/lib/active_support/core_ext/date_time/conversions.rb +6 -2
  33. data/lib/active_support/core_ext/date_time.rb +0 -1
  34. data/lib/active_support/core_ext/digest/uuid.rb +1 -10
  35. data/lib/active_support/core_ext/enumerable.rb +3 -75
  36. data/lib/active_support/core_ext/erb/util.rb +196 -0
  37. data/lib/active_support/core_ext/hash/conversions.rb +1 -1
  38. data/lib/active_support/core_ext/hash/deep_merge.rb +22 -14
  39. data/lib/active_support/core_ext/module/attribute_accessors.rb +6 -0
  40. data/lib/active_support/core_ext/module/attribute_accessors_per_thread.rb +34 -16
  41. data/lib/active_support/core_ext/module/concerning.rb +6 -6
  42. data/lib/active_support/core_ext/module/delegation.rb +40 -11
  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 +11 -3
  52. data/lib/active_support/core_ext/object/with.rb +44 -0
  53. data/lib/active_support/core_ext/object/with_options.rb +4 -4
  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/indent.rb +1 -1
  64. data/lib/active_support/core_ext/string/inflections.rb +16 -5
  65. data/lib/active_support/core_ext/string/output_safety.rb +38 -174
  66. data/lib/active_support/core_ext/thread/backtrace/location.rb +12 -0
  67. data/lib/active_support/core_ext/time/calculations.rb +18 -2
  68. data/lib/active_support/core_ext/time/conversions.rb +2 -2
  69. data/lib/active_support/core_ext/time/zones.rb +4 -4
  70. data/lib/active_support/core_ext/time.rb +0 -1
  71. data/lib/active_support/current_attributes.rb +15 -6
  72. data/lib/active_support/deep_mergeable.rb +53 -0
  73. data/lib/active_support/dependencies/autoload.rb +17 -12
  74. data/lib/active_support/deprecation/behaviors.rb +65 -42
  75. data/lib/active_support/deprecation/constant_accessor.rb +5 -4
  76. data/lib/active_support/deprecation/deprecators.rb +104 -0
  77. data/lib/active_support/deprecation/disallowed.rb +3 -5
  78. data/lib/active_support/deprecation/instance_delegator.rb +31 -4
  79. data/lib/active_support/deprecation/method_wrappers.rb +6 -23
  80. data/lib/active_support/deprecation/proxy_wrappers.rb +37 -22
  81. data/lib/active_support/deprecation/reporting.rb +42 -25
  82. data/lib/active_support/deprecation.rb +32 -5
  83. data/lib/active_support/deprecator.rb +7 -0
  84. data/lib/active_support/descendants_tracker.rb +104 -132
  85. data/lib/active_support/duration/iso8601_serializer.rb +0 -2
  86. data/lib/active_support/duration.rb +2 -1
  87. data/lib/active_support/encrypted_configuration.rb +30 -9
  88. data/lib/active_support/encrypted_file.rb +8 -3
  89. data/lib/active_support/environment_inquirer.rb +22 -2
  90. data/lib/active_support/error_reporter/test_helper.rb +15 -0
  91. data/lib/active_support/error_reporter.rb +121 -35
  92. data/lib/active_support/execution_wrapper.rb +4 -4
  93. data/lib/active_support/file_update_checker.rb +4 -2
  94. data/lib/active_support/fork_tracker.rb +10 -2
  95. data/lib/active_support/gem_version.rb +3 -3
  96. data/lib/active_support/gzip.rb +2 -0
  97. data/lib/active_support/hash_with_indifferent_access.rb +35 -17
  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 +23 -11
  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 +84 -33
  110. data/lib/active_support/logger.rb +9 -60
  111. data/lib/active_support/logger_thread_safe_level.rb +10 -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 +77 -20
  129. data/lib/active_support/notifications.rb +1 -1
  130. data/lib/active_support/number_helper/number_converter.rb +14 -5
  131. data/lib/active_support/number_helper/number_to_currency_converter.rb +6 -6
  132. data/lib/active_support/number_helper/number_to_human_size_converter.rb +3 -3
  133. data/lib/active_support/number_helper/number_to_phone_converter.rb +1 -0
  134. data/lib/active_support/number_helper.rb +379 -318
  135. data/lib/active_support/ordered_hash.rb +3 -3
  136. data/lib/active_support/ordered_options.rb +14 -0
  137. data/lib/active_support/parameter_filter.rb +84 -69
  138. data/lib/active_support/proxy_object.rb +2 -0
  139. data/lib/active_support/railtie.rb +33 -21
  140. data/lib/active_support/reloader.rb +12 -4
  141. data/lib/active_support/rescuable.rb +2 -0
  142. data/lib/active_support/secure_compare_rotator.rb +16 -9
  143. data/lib/active_support/string_inquirer.rb +3 -1
  144. data/lib/active_support/subscriber.rb +9 -27
  145. data/lib/active_support/syntax_error_proxy.rb +70 -0
  146. data/lib/active_support/tagged_logging.rb +60 -24
  147. data/lib/active_support/test_case.rb +153 -6
  148. data/lib/active_support/testing/assertions.rb +26 -10
  149. data/lib/active_support/testing/autorun.rb +0 -2
  150. data/lib/active_support/testing/constant_stubbing.rb +32 -0
  151. data/lib/active_support/testing/deprecation.rb +25 -25
  152. data/lib/active_support/testing/error_reporter_assertions.rb +107 -0
  153. data/lib/active_support/testing/isolation.rb +1 -1
  154. data/lib/active_support/testing/method_call_assertions.rb +21 -8
  155. data/lib/active_support/testing/parallelize_executor.rb +8 -3
  156. data/lib/active_support/testing/stream.rb +1 -1
  157. data/lib/active_support/testing/strict_warnings.rb +39 -0
  158. data/lib/active_support/testing/time_helpers.rb +37 -15
  159. data/lib/active_support/time_with_zone.rb +4 -14
  160. data/lib/active_support/values/time_zone.rb +9 -7
  161. data/lib/active_support/version.rb +1 -1
  162. data/lib/active_support/xml_mini/jdom.rb +3 -10
  163. data/lib/active_support/xml_mini/nokogiri.rb +1 -1
  164. data/lib/active_support/xml_mini/nokogirisax.rb +1 -1
  165. data/lib/active_support/xml_mini/rexml.rb +1 -1
  166. data/lib/active_support/xml_mini.rb +2 -2
  167. data/lib/active_support.rb +14 -3
  168. metadata +102 -15
  169. data/lib/active_support/core_ext/array/deprecated_conversions.rb +0 -25
  170. data/lib/active_support/core_ext/date/deprecated_conversions.rb +0 -40
  171. data/lib/active_support/core_ext/date_time/deprecated_conversions.rb +0 -36
  172. data/lib/active_support/core_ext/numeric/deprecated_conversions.rb +0 -60
  173. data/lib/active_support/core_ext/range/deprecated_conversions.rb +0 -36
  174. data/lib/active_support/core_ext/range/include_time_with_zone.rb +0 -5
  175. data/lib/active_support/core_ext/range/overlaps.rb +0 -10
  176. data/lib/active_support/core_ext/time/deprecated_conversions.rb +0 -73
  177. data/lib/active_support/core_ext/uri.rb +0 -5
  178. data/lib/active_support/per_thread_registry.rb +0 -65
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: activesupport
3
3
  version: !ruby/object:Gem::Version
4
- version: 7.0.8
4
+ version: 7.1.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - David Heinemeier Hansson
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-09-09 00:00:00.000000000 Z
11
+ date: 2024-01-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: i18n
@@ -64,6 +64,20 @@ dependencies:
64
64
  - - ">="
65
65
  - !ruby/object:Gem::Version
66
66
  version: 1.0.2
67
+ - !ruby/object:Gem::Dependency
68
+ name: connection_pool
69
+ requirement: !ruby/object:Gem::Requirement
70
+ requirements:
71
+ - - ">="
72
+ - !ruby/object:Gem::Version
73
+ version: 2.2.5
74
+ type: :runtime
75
+ prerelease: false
76
+ version_requirements: !ruby/object:Gem::Requirement
77
+ requirements:
78
+ - - ">="
79
+ - !ruby/object:Gem::Version
80
+ version: 2.2.5
67
81
  - !ruby/object:Gem::Dependency
68
82
  name: minitest
69
83
  requirement: !ruby/object:Gem::Requirement
@@ -78,6 +92,62 @@ dependencies:
78
92
  - - ">="
79
93
  - !ruby/object:Gem::Version
80
94
  version: '5.1'
95
+ - !ruby/object:Gem::Dependency
96
+ name: base64
97
+ requirement: !ruby/object:Gem::Requirement
98
+ requirements:
99
+ - - ">="
100
+ - !ruby/object:Gem::Version
101
+ version: '0'
102
+ type: :runtime
103
+ prerelease: false
104
+ version_requirements: !ruby/object:Gem::Requirement
105
+ requirements:
106
+ - - ">="
107
+ - !ruby/object:Gem::Version
108
+ version: '0'
109
+ - !ruby/object:Gem::Dependency
110
+ name: drb
111
+ requirement: !ruby/object:Gem::Requirement
112
+ requirements:
113
+ - - ">="
114
+ - !ruby/object:Gem::Version
115
+ version: '0'
116
+ type: :runtime
117
+ prerelease: false
118
+ version_requirements: !ruby/object:Gem::Requirement
119
+ requirements:
120
+ - - ">="
121
+ - !ruby/object:Gem::Version
122
+ version: '0'
123
+ - !ruby/object:Gem::Dependency
124
+ name: mutex_m
125
+ requirement: !ruby/object:Gem::Requirement
126
+ requirements:
127
+ - - ">="
128
+ - !ruby/object:Gem::Version
129
+ version: '0'
130
+ type: :runtime
131
+ prerelease: false
132
+ version_requirements: !ruby/object:Gem::Requirement
133
+ requirements:
134
+ - - ">="
135
+ - !ruby/object:Gem::Version
136
+ version: '0'
137
+ - !ruby/object:Gem::Dependency
138
+ name: bigdecimal
139
+ requirement: !ruby/object:Gem::Requirement
140
+ requirements:
141
+ - - ">="
142
+ - !ruby/object:Gem::Version
143
+ version: '0'
144
+ type: :runtime
145
+ prerelease: false
146
+ version_requirements: !ruby/object:Gem::Requirement
147
+ requirements:
148
+ - - ">="
149
+ - !ruby/object:Gem::Version
150
+ version: '0'
81
151
  description: A toolkit of support libraries and Ruby core extensions extracted from
82
152
  the Rails framework. Rich support for multibyte strings, internationalization, time
83
153
  zones, and testing.
@@ -95,19 +165,24 @@ files:
95
165
  - lib/active_support/array_inquirer.rb
96
166
  - lib/active_support/backtrace_cleaner.rb
97
167
  - lib/active_support/benchmarkable.rb
168
+ - lib/active_support/broadcast_logger.rb
98
169
  - lib/active_support/builder.rb
99
170
  - lib/active_support/cache.rb
171
+ - lib/active_support/cache/coder.rb
172
+ - lib/active_support/cache/entry.rb
100
173
  - lib/active_support/cache/file_store.rb
101
174
  - lib/active_support/cache/mem_cache_store.rb
102
175
  - lib/active_support/cache/memory_store.rb
103
176
  - lib/active_support/cache/null_store.rb
104
177
  - lib/active_support/cache/redis_cache_store.rb
178
+ - lib/active_support/cache/serializer_with_fallback.rb
105
179
  - lib/active_support/cache/strategy/local_cache.rb
106
180
  - lib/active_support/cache/strategy/local_cache_middleware.rb
107
181
  - lib/active_support/callbacks.rb
108
182
  - lib/active_support/code_generator.rb
109
183
  - lib/active_support/concern.rb
110
184
  - lib/active_support/concurrency/load_interlock_aware_monitor.rb
185
+ - lib/active_support/concurrency/null_lock.rb
111
186
  - lib/active_support/concurrency/share_lock.rb
112
187
  - lib/active_support/configurable.rb
113
188
  - lib/active_support/configuration_file.rb
@@ -115,7 +190,6 @@ files:
115
190
  - lib/active_support/core_ext/array.rb
116
191
  - lib/active_support/core_ext/array/access.rb
117
192
  - lib/active_support/core_ext/array/conversions.rb
118
- - lib/active_support/core_ext/array/deprecated_conversions.rb
119
193
  - lib/active_support/core_ext/array/extract.rb
120
194
  - lib/active_support/core_ext/array/extract_options.rb
121
195
  - lib/active_support/core_ext/array/grouping.rb
@@ -133,7 +207,6 @@ files:
133
207
  - lib/active_support/core_ext/date/blank.rb
134
208
  - lib/active_support/core_ext/date/calculations.rb
135
209
  - lib/active_support/core_ext/date/conversions.rb
136
- - lib/active_support/core_ext/date/deprecated_conversions.rb
137
210
  - lib/active_support/core_ext/date/zones.rb
138
211
  - lib/active_support/core_ext/date_and_time/calculations.rb
139
212
  - lib/active_support/core_ext/date_and_time/compatibility.rb
@@ -144,10 +217,10 @@ files:
144
217
  - lib/active_support/core_ext/date_time/calculations.rb
145
218
  - lib/active_support/core_ext/date_time/compatibility.rb
146
219
  - lib/active_support/core_ext/date_time/conversions.rb
147
- - lib/active_support/core_ext/date_time/deprecated_conversions.rb
148
220
  - lib/active_support/core_ext/digest.rb
149
221
  - lib/active_support/core_ext/digest/uuid.rb
150
222
  - lib/active_support/core_ext/enumerable.rb
223
+ - lib/active_support/core_ext/erb/util.rb
151
224
  - lib/active_support/core_ext/file.rb
152
225
  - lib/active_support/core_ext/file/atomic.rb
153
226
  - lib/active_support/core_ext/hash.rb
@@ -184,7 +257,6 @@ files:
184
257
  - lib/active_support/core_ext/numeric.rb
185
258
  - lib/active_support/core_ext/numeric/bytes.rb
186
259
  - lib/active_support/core_ext/numeric/conversions.rb
187
- - lib/active_support/core_ext/numeric/deprecated_conversions.rb
188
260
  - lib/active_support/core_ext/numeric/time.rb
189
261
  - lib/active_support/core_ext/object.rb
190
262
  - lib/active_support/core_ext/object/acts_like.rb
@@ -198,16 +270,16 @@ files:
198
270
  - lib/active_support/core_ext/object/to_param.rb
199
271
  - lib/active_support/core_ext/object/to_query.rb
200
272
  - lib/active_support/core_ext/object/try.rb
273
+ - lib/active_support/core_ext/object/with.rb
201
274
  - lib/active_support/core_ext/object/with_options.rb
202
275
  - lib/active_support/core_ext/pathname.rb
276
+ - lib/active_support/core_ext/pathname/blank.rb
203
277
  - lib/active_support/core_ext/pathname/existence.rb
204
278
  - lib/active_support/core_ext/range.rb
205
279
  - lib/active_support/core_ext/range/compare_range.rb
206
280
  - lib/active_support/core_ext/range/conversions.rb
207
- - lib/active_support/core_ext/range/deprecated_conversions.rb
208
281
  - lib/active_support/core_ext/range/each.rb
209
- - lib/active_support/core_ext/range/include_time_with_zone.rb
210
- - lib/active_support/core_ext/range/overlaps.rb
282
+ - lib/active_support/core_ext/range/overlap.rb
211
283
  - lib/active_support/core_ext/regexp.rb
212
284
  - lib/active_support/core_ext/securerandom.rb
213
285
  - lib/active_support/core_ext/string.rb
@@ -226,16 +298,16 @@ files:
226
298
  - lib/active_support/core_ext/string/zones.rb
227
299
  - lib/active_support/core_ext/symbol.rb
228
300
  - lib/active_support/core_ext/symbol/starts_ends_with.rb
301
+ - lib/active_support/core_ext/thread/backtrace/location.rb
229
302
  - lib/active_support/core_ext/time.rb
230
303
  - lib/active_support/core_ext/time/acts_like.rb
231
304
  - lib/active_support/core_ext/time/calculations.rb
232
305
  - lib/active_support/core_ext/time/compatibility.rb
233
306
  - lib/active_support/core_ext/time/conversions.rb
234
- - lib/active_support/core_ext/time/deprecated_conversions.rb
235
307
  - lib/active_support/core_ext/time/zones.rb
236
- - lib/active_support/core_ext/uri.rb
237
308
  - lib/active_support/current_attributes.rb
238
309
  - lib/active_support/current_attributes/test_helper.rb
310
+ - lib/active_support/deep_mergeable.rb
239
311
  - lib/active_support/dependencies.rb
240
312
  - lib/active_support/dependencies/autoload.rb
241
313
  - lib/active_support/dependencies/interlock.rb
@@ -243,11 +315,13 @@ files:
243
315
  - lib/active_support/deprecation.rb
244
316
  - lib/active_support/deprecation/behaviors.rb
245
317
  - lib/active_support/deprecation/constant_accessor.rb
318
+ - lib/active_support/deprecation/deprecators.rb
246
319
  - lib/active_support/deprecation/disallowed.rb
247
320
  - lib/active_support/deprecation/instance_delegator.rb
248
321
  - lib/active_support/deprecation/method_wrappers.rb
249
322
  - lib/active_support/deprecation/proxy_wrappers.rb
250
323
  - lib/active_support/deprecation/reporting.rb
324
+ - lib/active_support/deprecator.rb
251
325
  - lib/active_support/descendants_tracker.rb
252
326
  - lib/active_support/digest.rb
253
327
  - lib/active_support/duration.rb
@@ -257,6 +331,7 @@ files:
257
331
  - lib/active_support/encrypted_file.rb
258
332
  - lib/active_support/environment_inquirer.rb
259
333
  - lib/active_support/error_reporter.rb
334
+ - lib/active_support/error_reporter/test_helper.rb
260
335
  - lib/active_support/evented_file_update_checker.rb
261
336
  - lib/active_support/execution_context.rb
262
337
  - lib/active_support/execution_context/test_helper.rb
@@ -290,10 +365,19 @@ files:
290
365
  - lib/active_support/logger_silence.rb
291
366
  - lib/active_support/logger_thread_safe_level.rb
292
367
  - lib/active_support/message_encryptor.rb
368
+ - lib/active_support/message_encryptors.rb
369
+ - lib/active_support/message_pack.rb
370
+ - lib/active_support/message_pack/cache_serializer.rb
371
+ - lib/active_support/message_pack/extensions.rb
372
+ - lib/active_support/message_pack/serializer.rb
293
373
  - lib/active_support/message_verifier.rb
374
+ - lib/active_support/message_verifiers.rb
375
+ - lib/active_support/messages/codec.rb
294
376
  - lib/active_support/messages/metadata.rb
295
377
  - lib/active_support/messages/rotation_configuration.rb
378
+ - lib/active_support/messages/rotation_coordinator.rb
296
379
  - lib/active_support/messages/rotator.rb
380
+ - lib/active_support/messages/serializer_with_fallback.rb
297
381
  - lib/active_support/multibyte.rb
298
382
  - lib/active_support/multibyte/chars.rb
299
383
  - lib/active_support/multibyte/unicode.rb
@@ -314,7 +398,6 @@ files:
314
398
  - lib/active_support/ordered_hash.rb
315
399
  - lib/active_support/ordered_options.rb
316
400
  - lib/active_support/parameter_filter.rb
317
- - lib/active_support/per_thread_registry.rb
318
401
  - lib/active_support/proxy_object.rb
319
402
  - lib/active_support/rails.rb
320
403
  - lib/active_support/railtie.rb
@@ -325,13 +408,16 @@ files:
325
408
  - lib/active_support/security_utils.rb
326
409
  - lib/active_support/string_inquirer.rb
327
410
  - lib/active_support/subscriber.rb
411
+ - lib/active_support/syntax_error_proxy.rb
328
412
  - lib/active_support/tagged_logging.rb
329
413
  - lib/active_support/test_case.rb
330
414
  - lib/active_support/testing/assertions.rb
331
415
  - lib/active_support/testing/autorun.rb
332
416
  - lib/active_support/testing/constant_lookup.rb
417
+ - lib/active_support/testing/constant_stubbing.rb
333
418
  - lib/active_support/testing/declarative.rb
334
419
  - lib/active_support/testing/deprecation.rb
420
+ - lib/active_support/testing/error_reporter_assertions.rb
335
421
  - lib/active_support/testing/file_fixtures.rb
336
422
  - lib/active_support/testing/isolation.rb
337
423
  - lib/active_support/testing/method_call_assertions.rb
@@ -341,6 +427,7 @@ files:
341
427
  - lib/active_support/testing/parallelize_executor.rb
342
428
  - lib/active_support/testing/setup_and_teardown.rb
343
429
  - lib/active_support/testing/stream.rb
430
+ - lib/active_support/testing/strict_warnings.rb
344
431
  - lib/active_support/testing/tagged_logging.rb
345
432
  - lib/active_support/testing/time_helpers.rb
346
433
  - lib/active_support/time.rb
@@ -359,10 +446,10 @@ licenses:
359
446
  - MIT
360
447
  metadata:
361
448
  bug_tracker_uri: https://github.com/rails/rails/issues
362
- changelog_uri: https://github.com/rails/rails/blob/v7.0.8/activesupport/CHANGELOG.md
363
- documentation_uri: https://api.rubyonrails.org/v7.0.8/
449
+ changelog_uri: https://github.com/rails/rails/blob/v7.1.3/activesupport/CHANGELOG.md
450
+ documentation_uri: https://api.rubyonrails.org/v7.1.3/
364
451
  mailing_list_uri: https://discuss.rubyonrails.org/c/rubyonrails-talk
365
- source_code_uri: https://github.com/rails/rails/tree/v7.0.8/activesupport
452
+ source_code_uri: https://github.com/rails/rails/tree/v7.1.3/activesupport
366
453
  rubygems_mfa_required: 'true'
367
454
  post_install_message:
368
455
  rdoc_options:
@@ -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,10 +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
- other.begin == self.begin || cover?(other.begin) || other.cover?(self.begin)
9
- end
10
- 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