activesupport 7.1.3.2 → 7.2.2.2

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 (102) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +134 -1054
  3. data/lib/active_support/array_inquirer.rb +1 -1
  4. data/lib/active_support/backtrace_cleaner.rb +15 -3
  5. data/lib/active_support/broadcast_logger.rb +19 -18
  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 +62 -69
  12. data/lib/active_support/callbacks.rb +74 -113
  13. data/lib/active_support/code_generator.rb +15 -10
  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 +28 -1
  19. data/lib/active_support/core_ext/date_time/blank.rb +4 -0
  20. data/lib/active_support/core_ext/date_time/conversions.rb +0 -4
  21. data/lib/active_support/core_ext/digest/uuid.rb +6 -0
  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 -148
  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/duplicable.rb +24 -15
  30. data/lib/active_support/core_ext/object/instance_variables.rb +11 -19
  31. data/lib/active_support/core_ext/object/json.rb +6 -4
  32. data/lib/active_support/core_ext/object/with.rb +5 -3
  33. data/lib/active_support/core_ext/pathname/blank.rb +4 -0
  34. data/lib/active_support/core_ext/range/overlap.rb +1 -1
  35. data/lib/active_support/core_ext/securerandom.rb +8 -24
  36. data/lib/active_support/core_ext/string/conversions.rb +1 -1
  37. data/lib/active_support/core_ext/string/filters.rb +1 -1
  38. data/lib/active_support/core_ext/string/multibyte.rb +1 -1
  39. data/lib/active_support/core_ext/string/output_safety.rb +0 -7
  40. data/lib/active_support/core_ext/time/calculations.rb +18 -28
  41. data/lib/active_support/core_ext/time/compatibility.rb +16 -0
  42. data/lib/active_support/core_ext/time/conversions.rb +0 -2
  43. data/lib/active_support/core_ext/time/zones.rb +1 -1
  44. data/lib/active_support/core_ext.rb +0 -1
  45. data/lib/active_support/current_attributes.rb +38 -40
  46. data/lib/active_support/delegation.rb +202 -0
  47. data/lib/active_support/dependencies/autoload.rb +0 -12
  48. data/lib/active_support/deprecation/constant_accessor.rb +47 -26
  49. data/lib/active_support/deprecation/proxy_wrappers.rb +9 -12
  50. data/lib/active_support/deprecation/reporting.rb +9 -4
  51. data/lib/active_support/deprecation.rb +8 -5
  52. data/lib/active_support/descendants_tracker.rb +9 -87
  53. data/lib/active_support/duration/iso8601_parser.rb +2 -2
  54. data/lib/active_support/duration/iso8601_serializer.rb +1 -2
  55. data/lib/active_support/duration.rb +11 -6
  56. data/lib/active_support/encrypted_file.rb +1 -1
  57. data/lib/active_support/error_reporter.rb +41 -3
  58. data/lib/active_support/evented_file_update_checker.rb +0 -1
  59. data/lib/active_support/execution_wrapper.rb +0 -1
  60. data/lib/active_support/file_update_checker.rb +1 -1
  61. data/lib/active_support/fork_tracker.rb +2 -38
  62. data/lib/active_support/gem_version.rb +2 -2
  63. data/lib/active_support/hash_with_indifferent_access.rb +6 -8
  64. data/lib/active_support/html_safe_translation.rb +7 -4
  65. data/lib/active_support/json/encoding.rb +1 -1
  66. data/lib/active_support/log_subscriber.rb +1 -12
  67. data/lib/active_support/logger.rb +15 -2
  68. data/lib/active_support/logger_thread_safe_level.rb +0 -8
  69. data/lib/active_support/message_pack/extensions.rb +15 -2
  70. data/lib/active_support/message_verifier.rb +12 -0
  71. data/lib/active_support/messages/codec.rb +1 -1
  72. data/lib/active_support/multibyte/chars.rb +2 -2
  73. data/lib/active_support/notifications/fanout.rb +4 -7
  74. data/lib/active_support/notifications/instrumenter.rb +32 -21
  75. data/lib/active_support/notifications.rb +28 -27
  76. data/lib/active_support/number_helper/number_converter.rb +2 -2
  77. data/lib/active_support/option_merger.rb +2 -2
  78. data/lib/active_support/ordered_options.rb +53 -15
  79. data/lib/active_support/proxy_object.rb +8 -5
  80. data/lib/active_support/railtie.rb +4 -11
  81. data/lib/active_support/string_inquirer.rb +1 -1
  82. data/lib/active_support/subscriber.rb +1 -0
  83. data/lib/active_support/syntax_error_proxy.rb +1 -11
  84. data/lib/active_support/tagged_logging.rb +4 -1
  85. data/lib/active_support/test_case.rb +3 -1
  86. data/lib/active_support/testing/assertions.rb +4 -4
  87. data/lib/active_support/testing/constant_stubbing.rb +30 -8
  88. data/lib/active_support/testing/deprecation.rb +5 -12
  89. data/lib/active_support/testing/isolation.rb +20 -8
  90. data/lib/active_support/testing/method_call_assertions.rb +2 -16
  91. data/lib/active_support/testing/parallelization/server.rb +3 -0
  92. data/lib/active_support/testing/setup_and_teardown.rb +2 -0
  93. data/lib/active_support/testing/strict_warnings.rb +8 -4
  94. data/lib/active_support/testing/tests_without_assertions.rb +19 -0
  95. data/lib/active_support/testing/time_helpers.rb +3 -3
  96. data/lib/active_support/time_with_zone.rb +8 -4
  97. data/lib/active_support/values/time_zone.rb +16 -7
  98. data/lib/active_support/xml_mini.rb +11 -2
  99. data/lib/active_support.rb +3 -2
  100. metadata +49 -18
  101. data/lib/active_support/deprecation/instance_delegator.rb +0 -65
  102. data/lib/active_support/ruby_features.rb +0 -7
metadata CHANGED
@@ -1,14 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: activesupport
3
3
  version: !ruby/object:Gem::Version
4
- version: 7.1.3.2
4
+ version: 7.2.2.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - David Heinemeier Hansson
8
- autorequire:
9
8
  bindir: bin
10
9
  cert_chain: []
11
- date: 2024-02-21 00:00:00.000000000 Z
10
+ date: 1980-01-02 00:00:00.000000000 Z
12
11
  dependencies:
13
12
  - !ruby/object:Gem::Dependency
14
13
  name: i18n
@@ -37,6 +36,9 @@ dependencies:
37
36
  - - "~>"
38
37
  - !ruby/object:Gem::Version
39
38
  version: '2.0'
39
+ - - ">="
40
+ - !ruby/object:Gem::Version
41
+ version: 2.0.5
40
42
  type: :runtime
41
43
  prerelease: false
42
44
  version_requirements: !ruby/object:Gem::Requirement
@@ -44,6 +46,9 @@ dependencies:
44
46
  - - "~>"
45
47
  - !ruby/object:Gem::Version
46
48
  version: '2.0'
49
+ - - ">="
50
+ - !ruby/object:Gem::Version
51
+ version: 2.0.5
47
52
  - !ruby/object:Gem::Dependency
48
53
  name: concurrent-ruby
49
54
  requirement: !ruby/object:Gem::Requirement
@@ -53,7 +58,7 @@ dependencies:
53
58
  version: '1.0'
54
59
  - - ">="
55
60
  - !ruby/object:Gem::Version
56
- version: 1.0.2
61
+ version: 1.3.1
57
62
  type: :runtime
58
63
  prerelease: false
59
64
  version_requirements: !ruby/object:Gem::Requirement
@@ -63,7 +68,7 @@ dependencies:
63
68
  version: '1.0'
64
69
  - - ">="
65
70
  - !ruby/object:Gem::Version
66
- version: 1.0.2
71
+ version: 1.3.1
67
72
  - !ruby/object:Gem::Dependency
68
73
  name: connection_pool
69
74
  requirement: !ruby/object:Gem::Requirement
@@ -121,7 +126,7 @@ dependencies:
121
126
  - !ruby/object:Gem::Version
122
127
  version: '0'
123
128
  - !ruby/object:Gem::Dependency
124
- name: mutex_m
129
+ name: bigdecimal
125
130
  requirement: !ruby/object:Gem::Requirement
126
131
  requirements:
127
132
  - - ">="
@@ -135,19 +140,47 @@ dependencies:
135
140
  - !ruby/object:Gem::Version
136
141
  version: '0'
137
142
  - !ruby/object:Gem::Dependency
138
- name: bigdecimal
143
+ name: logger
139
144
  requirement: !ruby/object:Gem::Requirement
140
145
  requirements:
141
146
  - - ">="
142
147
  - !ruby/object:Gem::Version
143
- version: '0'
148
+ version: 1.4.2
144
149
  type: :runtime
145
150
  prerelease: false
146
151
  version_requirements: !ruby/object:Gem::Requirement
147
152
  requirements:
148
153
  - - ">="
149
154
  - !ruby/object:Gem::Version
150
- version: '0'
155
+ version: 1.4.2
156
+ - !ruby/object:Gem::Dependency
157
+ name: securerandom
158
+ requirement: !ruby/object:Gem::Requirement
159
+ requirements:
160
+ - - ">="
161
+ - !ruby/object:Gem::Version
162
+ version: '0.3'
163
+ type: :runtime
164
+ prerelease: false
165
+ version_requirements: !ruby/object:Gem::Requirement
166
+ requirements:
167
+ - - ">="
168
+ - !ruby/object:Gem::Version
169
+ version: '0.3'
170
+ - !ruby/object:Gem::Dependency
171
+ name: benchmark
172
+ requirement: !ruby/object:Gem::Requirement
173
+ requirements:
174
+ - - ">="
175
+ - !ruby/object:Gem::Version
176
+ version: '0.3'
177
+ type: :runtime
178
+ prerelease: false
179
+ version_requirements: !ruby/object:Gem::Requirement
180
+ requirements:
181
+ - - ">="
182
+ - !ruby/object:Gem::Version
183
+ version: '0.3'
151
184
  description: A toolkit of support libraries and Ruby core extensions extracted from
152
185
  the Rails framework. Rich support for multibyte strings, internationalization, time
153
186
  zones, and testing.
@@ -308,6 +341,7 @@ files:
308
341
  - lib/active_support/current_attributes.rb
309
342
  - lib/active_support/current_attributes/test_helper.rb
310
343
  - lib/active_support/deep_mergeable.rb
344
+ - lib/active_support/delegation.rb
311
345
  - lib/active_support/dependencies.rb
312
346
  - lib/active_support/dependencies/autoload.rb
313
347
  - lib/active_support/dependencies/interlock.rb
@@ -317,7 +351,6 @@ files:
317
351
  - lib/active_support/deprecation/constant_accessor.rb
318
352
  - lib/active_support/deprecation/deprecators.rb
319
353
  - lib/active_support/deprecation/disallowed.rb
320
- - lib/active_support/deprecation/instance_delegator.rb
321
354
  - lib/active_support/deprecation/method_wrappers.rb
322
355
  - lib/active_support/deprecation/proxy_wrappers.rb
323
356
  - lib/active_support/deprecation/reporting.rb
@@ -403,7 +436,6 @@ files:
403
436
  - lib/active_support/railtie.rb
404
437
  - lib/active_support/reloader.rb
405
438
  - lib/active_support/rescuable.rb
406
- - lib/active_support/ruby_features.rb
407
439
  - lib/active_support/secure_compare_rotator.rb
408
440
  - lib/active_support/security_utils.rb
409
441
  - lib/active_support/string_inquirer.rb
@@ -429,6 +461,7 @@ files:
429
461
  - lib/active_support/testing/stream.rb
430
462
  - lib/active_support/testing/strict_warnings.rb
431
463
  - lib/active_support/testing/tagged_logging.rb
464
+ - lib/active_support/testing/tests_without_assertions.rb
432
465
  - lib/active_support/testing/time_helpers.rb
433
466
  - lib/active_support/time.rb
434
467
  - lib/active_support/time_with_zone.rb
@@ -446,12 +479,11 @@ licenses:
446
479
  - MIT
447
480
  metadata:
448
481
  bug_tracker_uri: https://github.com/rails/rails/issues
449
- changelog_uri: https://github.com/rails/rails/blob/v7.1.3.2/activesupport/CHANGELOG.md
450
- documentation_uri: https://api.rubyonrails.org/v7.1.3.2/
482
+ changelog_uri: https://github.com/rails/rails/blob/v7.2.2.2/activesupport/CHANGELOG.md
483
+ documentation_uri: https://api.rubyonrails.org/v7.2.2.2/
451
484
  mailing_list_uri: https://discuss.rubyonrails.org/c/rubyonrails-talk
452
- source_code_uri: https://github.com/rails/rails/tree/v7.1.3.2/activesupport
485
+ source_code_uri: https://github.com/rails/rails/tree/v7.2.2.2/activesupport
453
486
  rubygems_mfa_required: 'true'
454
- post_install_message:
455
487
  rdoc_options:
456
488
  - "--encoding"
457
489
  - UTF-8
@@ -461,15 +493,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
461
493
  requirements:
462
494
  - - ">="
463
495
  - !ruby/object:Gem::Version
464
- version: 2.7.0
496
+ version: 3.1.0
465
497
  required_rubygems_version: !ruby/object:Gem::Requirement
466
498
  requirements:
467
499
  - - ">="
468
500
  - !ruby/object:Gem::Version
469
501
  version: '0'
470
502
  requirements: []
471
- rubygems_version: 3.5.3
472
- signing_key:
503
+ rubygems_version: 3.6.9
473
504
  specification_version: 4
474
505
  summary: A toolkit of support libraries and Ruby core extensions extracted from the
475
506
  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