activesupport 7.1.5.2 → 7.2.0.beta1

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 (88) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +113 -1183
  3. data/lib/active_support/array_inquirer.rb +1 -1
  4. data/lib/active_support/backtrace_cleaner.rb +10 -3
  5. data/lib/active_support/broadcast_logger.rb +18 -19
  6. data/lib/active_support/cache/file_store.rb +15 -10
  7. data/lib/active_support/cache/mem_cache_store.rb +16 -74
  8. data/lib/active_support/cache/memory_store.rb +2 -1
  9. data/lib/active_support/cache/redis_cache_store.rb +16 -13
  10. data/lib/active_support/cache/serializer_with_fallback.rb +0 -23
  11. data/lib/active_support/cache.rb +59 -67
  12. data/lib/active_support/callbacks.rb +74 -113
  13. data/lib/active_support/code_generator.rb +10 -15
  14. data/lib/active_support/core_ext/array/conversions.rb +0 -2
  15. data/lib/active_support/core_ext/class/subclasses.rb +15 -35
  16. data/lib/active_support/core_ext/date/blank.rb +4 -0
  17. data/lib/active_support/core_ext/date/conversions.rb +0 -2
  18. data/lib/active_support/core_ext/date_and_time/compatibility.rb +12 -9
  19. data/lib/active_support/core_ext/date_time/blank.rb +4 -0
  20. data/lib/active_support/core_ext/date_time/compatibility.rb +3 -5
  21. data/lib/active_support/core_ext/date_time/conversions.rb +0 -4
  22. data/lib/active_support/core_ext/erb/util.rb +5 -0
  23. data/lib/active_support/core_ext/hash/keys.rb +4 -4
  24. data/lib/active_support/core_ext/module/attr_internal.rb +17 -6
  25. data/lib/active_support/core_ext/module/delegation.rb +20 -163
  26. data/lib/active_support/core_ext/module/deprecation.rb +1 -4
  27. data/lib/active_support/core_ext/numeric/conversions.rb +3 -3
  28. data/lib/active_support/core_ext/object/blank.rb +45 -1
  29. data/lib/active_support/core_ext/object/instance_variables.rb +11 -19
  30. data/lib/active_support/core_ext/object/json.rb +4 -6
  31. data/lib/active_support/core_ext/object/with.rb +5 -3
  32. data/lib/active_support/core_ext/pathname/blank.rb +4 -0
  33. data/lib/active_support/core_ext/range/overlap.rb +1 -1
  34. data/lib/active_support/core_ext/string/conversions.rb +1 -1
  35. data/lib/active_support/core_ext/string/filters.rb +1 -1
  36. data/lib/active_support/core_ext/string/output_safety.rb +0 -7
  37. data/lib/active_support/core_ext/time/calculations.rb +12 -27
  38. data/lib/active_support/core_ext/time/compatibility.rb +2 -3
  39. data/lib/active_support/core_ext/time/conversions.rb +0 -2
  40. data/lib/active_support/core_ext.rb +0 -1
  41. data/lib/active_support/current_attributes.rb +33 -40
  42. data/lib/active_support/delegation.rb +188 -0
  43. data/lib/active_support/dependencies/autoload.rb +0 -12
  44. data/lib/active_support/deprecation/constant_accessor.rb +1 -3
  45. data/lib/active_support/deprecation/proxy_wrappers.rb +9 -12
  46. data/lib/active_support/deprecation/reporting.rb +9 -4
  47. data/lib/active_support/deprecation.rb +8 -5
  48. data/lib/active_support/descendants_tracker.rb +9 -87
  49. data/lib/active_support/duration/iso8601_parser.rb +2 -2
  50. data/lib/active_support/duration/iso8601_serializer.rb +1 -2
  51. data/lib/active_support/duration.rb +11 -6
  52. data/lib/active_support/error_reporter.rb +41 -3
  53. data/lib/active_support/evented_file_update_checker.rb +0 -1
  54. data/lib/active_support/execution_wrapper.rb +0 -1
  55. data/lib/active_support/file_update_checker.rb +1 -1
  56. data/lib/active_support/fork_tracker.rb +2 -38
  57. data/lib/active_support/gem_version.rb +3 -3
  58. data/lib/active_support/hash_with_indifferent_access.rb +6 -8
  59. data/lib/active_support/html_safe_translation.rb +3 -0
  60. data/lib/active_support/log_subscriber.rb +0 -12
  61. data/lib/active_support/logger.rb +15 -2
  62. data/lib/active_support/message_pack/extensions.rb +15 -2
  63. data/lib/active_support/multibyte/chars.rb +2 -2
  64. data/lib/active_support/notifications/fanout.rb +4 -7
  65. data/lib/active_support/notifications/instrumenter.rb +21 -18
  66. data/lib/active_support/notifications.rb +28 -27
  67. data/lib/active_support/number_helper/number_converter.rb +2 -2
  68. data/lib/active_support/option_merger.rb +2 -2
  69. data/lib/active_support/ordered_options.rb +53 -15
  70. data/lib/active_support/proxy_object.rb +8 -5
  71. data/lib/active_support/railtie.rb +4 -11
  72. data/lib/active_support/string_inquirer.rb +1 -1
  73. data/lib/active_support/syntax_error_proxy.rb +11 -1
  74. data/lib/active_support/test_case.rb +3 -1
  75. data/lib/active_support/testing/assertions.rb +4 -4
  76. data/lib/active_support/testing/constant_stubbing.rb +30 -8
  77. data/lib/active_support/testing/deprecation.rb +5 -12
  78. data/lib/active_support/testing/isolation.rb +18 -8
  79. data/lib/active_support/testing/method_call_assertions.rb +2 -16
  80. data/lib/active_support/testing/strict_warnings.rb +5 -4
  81. data/lib/active_support/testing/tests_without_assertions.rb +19 -0
  82. data/lib/active_support/time_with_zone.rb +9 -10
  83. data/lib/active_support/values/time_zone.rb +1 -1
  84. data/lib/active_support/xml_mini.rb +11 -2
  85. data/lib/active_support.rb +7 -8
  86. metadata +20 -67
  87. data/lib/active_support/deprecation/instance_delegator.rb +0 -65
  88. data/lib/active_support/ruby_features.rb +0 -7
metadata CHANGED
@@ -1,13 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: activesupport
3
3
  version: !ruby/object:Gem::Version
4
- version: 7.1.5.2
4
+ version: 7.2.0.beta1
5
5
  platform: ruby
6
6
  authors:
7
7
  - David Heinemeier Hansson
8
+ autorequire:
8
9
  bindir: bin
9
10
  cert_chain: []
10
- date: 1980-01-02 00:00:00.000000000 Z
11
+ date: 2024-05-29 00:00:00.000000000 Z
11
12
  dependencies:
12
13
  - !ruby/object:Gem::Dependency
13
14
  name: i18n
@@ -36,6 +37,9 @@ dependencies:
36
37
  - - "~>"
37
38
  - !ruby/object:Gem::Version
38
39
  version: '2.0'
40
+ - - ">="
41
+ - !ruby/object:Gem::Version
42
+ version: 2.0.5
39
43
  type: :runtime
40
44
  prerelease: false
41
45
  version_requirements: !ruby/object:Gem::Requirement
@@ -43,6 +47,9 @@ dependencies:
43
47
  - - "~>"
44
48
  - !ruby/object:Gem::Version
45
49
  version: '2.0'
50
+ - - ">="
51
+ - !ruby/object:Gem::Version
52
+ version: 2.0.5
46
53
  - !ruby/object:Gem::Dependency
47
54
  name: concurrent-ruby
48
55
  requirement: !ruby/object:Gem::Requirement
@@ -52,7 +59,7 @@ dependencies:
52
59
  version: '1.0'
53
60
  - - ">="
54
61
  - !ruby/object:Gem::Version
55
- version: 1.0.2
62
+ version: 1.3.1
56
63
  type: :runtime
57
64
  prerelease: false
58
65
  version_requirements: !ruby/object:Gem::Requirement
@@ -62,7 +69,7 @@ dependencies:
62
69
  version: '1.0'
63
70
  - - ">="
64
71
  - !ruby/object:Gem::Version
65
- version: 1.0.2
72
+ version: 1.3.1
66
73
  - !ruby/object:Gem::Dependency
67
74
  name: connection_pool
68
75
  requirement: !ruby/object:Gem::Requirement
@@ -119,20 +126,6 @@ dependencies:
119
126
  - - ">="
120
127
  - !ruby/object:Gem::Version
121
128
  version: '0'
122
- - !ruby/object:Gem::Dependency
123
- name: mutex_m
124
- requirement: !ruby/object:Gem::Requirement
125
- requirements:
126
- - - ">="
127
- - !ruby/object:Gem::Version
128
- version: '0'
129
- type: :runtime
130
- prerelease: false
131
- version_requirements: !ruby/object:Gem::Requirement
132
- requirements:
133
- - - ">="
134
- - !ruby/object:Gem::Version
135
- version: '0'
136
129
  - !ruby/object:Gem::Dependency
137
130
  name: bigdecimal
138
131
  requirement: !ruby/object:Gem::Requirement
@@ -147,48 +140,6 @@ dependencies:
147
140
  - - ">="
148
141
  - !ruby/object:Gem::Version
149
142
  version: '0'
150
- - !ruby/object:Gem::Dependency
151
- name: logger
152
- requirement: !ruby/object:Gem::Requirement
153
- requirements:
154
- - - ">="
155
- - !ruby/object:Gem::Version
156
- version: 1.4.2
157
- type: :runtime
158
- prerelease: false
159
- version_requirements: !ruby/object:Gem::Requirement
160
- requirements:
161
- - - ">="
162
- - !ruby/object:Gem::Version
163
- version: 1.4.2
164
- - !ruby/object:Gem::Dependency
165
- name: securerandom
166
- requirement: !ruby/object:Gem::Requirement
167
- requirements:
168
- - - ">="
169
- - !ruby/object:Gem::Version
170
- version: '0.3'
171
- type: :runtime
172
- prerelease: false
173
- version_requirements: !ruby/object:Gem::Requirement
174
- requirements:
175
- - - ">="
176
- - !ruby/object:Gem::Version
177
- version: '0.3'
178
- - !ruby/object:Gem::Dependency
179
- name: benchmark
180
- requirement: !ruby/object:Gem::Requirement
181
- requirements:
182
- - - ">="
183
- - !ruby/object:Gem::Version
184
- version: '0.3'
185
- type: :runtime
186
- prerelease: false
187
- version_requirements: !ruby/object:Gem::Requirement
188
- requirements:
189
- - - ">="
190
- - !ruby/object:Gem::Version
191
- version: '0.3'
192
143
  description: A toolkit of support libraries and Ruby core extensions extracted from
193
144
  the Rails framework. Rich support for multibyte strings, internationalization, time
194
145
  zones, and testing.
@@ -349,6 +300,7 @@ files:
349
300
  - lib/active_support/current_attributes.rb
350
301
  - lib/active_support/current_attributes/test_helper.rb
351
302
  - lib/active_support/deep_mergeable.rb
303
+ - lib/active_support/delegation.rb
352
304
  - lib/active_support/dependencies.rb
353
305
  - lib/active_support/dependencies/autoload.rb
354
306
  - lib/active_support/dependencies/interlock.rb
@@ -358,7 +310,6 @@ files:
358
310
  - lib/active_support/deprecation/constant_accessor.rb
359
311
  - lib/active_support/deprecation/deprecators.rb
360
312
  - lib/active_support/deprecation/disallowed.rb
361
- - lib/active_support/deprecation/instance_delegator.rb
362
313
  - lib/active_support/deprecation/method_wrappers.rb
363
314
  - lib/active_support/deprecation/proxy_wrappers.rb
364
315
  - lib/active_support/deprecation/reporting.rb
@@ -444,7 +395,6 @@ files:
444
395
  - lib/active_support/railtie.rb
445
396
  - lib/active_support/reloader.rb
446
397
  - lib/active_support/rescuable.rb
447
- - lib/active_support/ruby_features.rb
448
398
  - lib/active_support/secure_compare_rotator.rb
449
399
  - lib/active_support/security_utils.rb
450
400
  - lib/active_support/string_inquirer.rb
@@ -470,6 +420,7 @@ files:
470
420
  - lib/active_support/testing/stream.rb
471
421
  - lib/active_support/testing/strict_warnings.rb
472
422
  - lib/active_support/testing/tagged_logging.rb
423
+ - lib/active_support/testing/tests_without_assertions.rb
473
424
  - lib/active_support/testing/time_helpers.rb
474
425
  - lib/active_support/time.rb
475
426
  - lib/active_support/time_with_zone.rb
@@ -487,11 +438,12 @@ licenses:
487
438
  - MIT
488
439
  metadata:
489
440
  bug_tracker_uri: https://github.com/rails/rails/issues
490
- changelog_uri: https://github.com/rails/rails/blob/v7.1.5.2/activesupport/CHANGELOG.md
491
- documentation_uri: https://api.rubyonrails.org/v7.1.5.2/
441
+ changelog_uri: https://github.com/rails/rails/blob/v7.2.0.beta1/activesupport/CHANGELOG.md
442
+ documentation_uri: https://api.rubyonrails.org/v7.2.0.beta1/
492
443
  mailing_list_uri: https://discuss.rubyonrails.org/c/rubyonrails-talk
493
- source_code_uri: https://github.com/rails/rails/tree/v7.1.5.2/activesupport
444
+ source_code_uri: https://github.com/rails/rails/tree/v7.2.0.beta1/activesupport
494
445
  rubygems_mfa_required: 'true'
446
+ post_install_message:
495
447
  rdoc_options:
496
448
  - "--encoding"
497
449
  - UTF-8
@@ -501,14 +453,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
501
453
  requirements:
502
454
  - - ">="
503
455
  - !ruby/object:Gem::Version
504
- version: 2.7.0
456
+ version: 3.1.0
505
457
  required_rubygems_version: !ruby/object:Gem::Requirement
506
458
  requirements:
507
459
  - - ">="
508
460
  - !ruby/object:Gem::Version
509
461
  version: '0'
510
462
  requirements: []
511
- rubygems_version: 3.6.9
463
+ rubygems_version: 3.5.10
464
+ signing_key:
512
465
  specification_version: 4
513
466
  summary: A toolkit of support libraries and Ruby core extensions extracted from the
514
467
  Rails framework.
@@ -1,65 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module ActiveSupport
4
- class Deprecation
5
- module InstanceDelegator # :nodoc:
6
- def self.included(base)
7
- base.extend(ClassMethods)
8
- base.singleton_class.prepend(OverrideDelegators)
9
- end
10
-
11
- module ClassMethods # :nodoc:
12
- MUTEX = Mutex.new
13
- private_constant :MUTEX
14
-
15
- def include(included_module)
16
- included_module.instance_methods.each { |m| method_added(m) }
17
- super
18
- end
19
-
20
- def method_added(method_name)
21
- use_instead =
22
- case method_name
23
- when :silence, :behavior=, :disallowed_behavior=, :disallowed_warnings=, :silenced=, :debug=
24
- target = "(defined?(Rails.application.deprecators) ? Rails.application.deprecators : ActiveSupport::Deprecation._instance)"
25
- "Rails.application.deprecators.#{method_name}"
26
- when :warn, :deprecate_methods, :gem_name, :gem_name=, :deprecation_horizon, :deprecation_horizon=
27
- "your own Deprecation object"
28
- else
29
- "Rails.application.deprecators[framework].#{method_name} where framework is for example :active_record"
30
- end
31
- args = /[^\]]=\z/.match?(method_name) ? "arg" : "..."
32
- target ||= "ActiveSupport::Deprecation._instance"
33
- singleton_class.module_eval <<~RUBY, __FILE__, __LINE__ + 1
34
- def #{method_name}(#{args})
35
- #{target}.#{method_name}(#{args})
36
- ensure
37
- ActiveSupport.deprecator.warn("Calling #{method_name} on ActiveSupport::Deprecation is deprecated and will be removed from Rails (use #{use_instead} instead)")
38
- end
39
- RUBY
40
- end
41
-
42
- def instance
43
- ActiveSupport.deprecator.warn("ActiveSupport::Deprecation.instance is deprecated (use your own Deprecation object)")
44
- _instance
45
- end
46
-
47
- def _instance
48
- @_instance ||= MUTEX.synchronize { @_instance ||= new }
49
- end
50
- end
51
-
52
- module OverrideDelegators # :nodoc:
53
- def warn(message = nil, callstack = nil)
54
- callstack ||= caller_locations(2)
55
- super
56
- end
57
-
58
- def deprecation_warning(deprecated_method_name, message = nil, caller_backtrace = nil)
59
- caller_backtrace ||= caller_locations(2)
60
- super
61
- end
62
- end
63
- end
64
- end
65
- end
@@ -1,7 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module ActiveSupport
4
- module RubyFeatures # :nodoc:
5
- CLASS_SUBCLASSES = Class.method_defined?(:subclasses) # RUBY_VERSION >= "3.1"
6
- end
7
- end