activesupport 7.2.2.2 → 7.2.3.1

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 (49) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +164 -0
  3. data/README.rdoc +1 -1
  4. data/lib/active_support/backtrace_cleaner.rb +1 -1
  5. data/lib/active_support/broadcast_logger.rb +61 -74
  6. data/lib/active_support/cache/file_store.rb +2 -2
  7. data/lib/active_support/cache/mem_cache_store.rb +13 -15
  8. data/lib/active_support/cache/memory_store.rb +5 -5
  9. data/lib/active_support/cache/null_store.rb +2 -2
  10. data/lib/active_support/cache/redis_cache_store.rb +1 -1
  11. data/lib/active_support/cache/strategy/local_cache.rb +56 -20
  12. data/lib/active_support/cache.rb +3 -3
  13. data/lib/active_support/callbacks.rb +3 -2
  14. data/lib/active_support/core_ext/benchmark.rb +1 -0
  15. data/lib/active_support/core_ext/class/attribute.rb +2 -2
  16. data/lib/active_support/core_ext/date_time/conversions.rb +4 -2
  17. data/lib/active_support/core_ext/enumerable.rb +17 -5
  18. data/lib/active_support/core_ext/erb/util.rb +2 -2
  19. data/lib/active_support/core_ext/module/introspection.rb +3 -0
  20. data/lib/active_support/core_ext/object/try.rb +2 -2
  21. data/lib/active_support/core_ext/range/sole.rb +17 -0
  22. data/lib/active_support/core_ext/range.rb +1 -0
  23. data/lib/active_support/core_ext/securerandom.rb +24 -8
  24. data/lib/active_support/core_ext/string/filters.rb +3 -3
  25. data/lib/active_support/core_ext/string/multibyte.rb +2 -2
  26. data/lib/active_support/core_ext/string/output_safety.rb +3 -1
  27. data/lib/active_support/core_ext/time/compatibility.rb +9 -1
  28. data/lib/active_support/current_attributes.rb +14 -7
  29. data/lib/active_support/error_reporter.rb +5 -2
  30. data/lib/active_support/execution_wrapper.rb +1 -1
  31. data/lib/active_support/file_update_checker.rb +1 -1
  32. data/lib/active_support/gem_version.rb +2 -2
  33. data/lib/active_support/hash_with_indifferent_access.rb +20 -16
  34. data/lib/active_support/json/decoding.rb +1 -1
  35. data/lib/active_support/json/encoding.rb +23 -5
  36. data/lib/active_support/lazy_load_hooks.rb +1 -1
  37. data/lib/active_support/message_encryptors.rb +2 -2
  38. data/lib/active_support/message_verifier.rb +9 -0
  39. data/lib/active_support/message_verifiers.rb +5 -3
  40. data/lib/active_support/messages/rotator.rb +5 -0
  41. data/lib/active_support/multibyte/chars.rb +4 -1
  42. data/lib/active_support/number_helper/number_converter.rb +1 -1
  43. data/lib/active_support/number_helper/number_to_delimited_converter.rb +17 -2
  44. data/lib/active_support/testing/parallelization/server.rb +15 -2
  45. data/lib/active_support/testing/parallelization/worker.rb +2 -2
  46. data/lib/active_support/testing/parallelization.rb +12 -1
  47. data/lib/active_support/xml_mini.rb +2 -0
  48. metadata +12 -6
  49. data/lib/active_support/testing/strict_warnings.rb +0 -43
@@ -47,8 +47,19 @@ module ActiveSupport
47
47
  end
48
48
 
49
49
  def shutdown
50
+ dead_worker_pids = @worker_pool.filter_map do |pid|
51
+ Process.waitpid(pid, Process::WNOHANG)
52
+ rescue Errno::ECHILD
53
+ pid
54
+ end
55
+ @queue_server.remove_dead_workers(dead_worker_pids)
56
+
50
57
  @queue_server.shutdown
51
- @worker_pool.each { |pid| Process.waitpid pid }
58
+ @worker_pool.each do |pid|
59
+ Process.waitpid(pid)
60
+ rescue Errno::ECHILD
61
+ nil
62
+ end
52
63
  end
53
64
  end
54
65
  end
@@ -74,6 +74,8 @@ module ActiveSupport
74
74
  "decimal" => Proc.new do |number|
75
75
  if String === number
76
76
  number.to_d
77
+ elsif Float === number
78
+ BigDecimal(number, 0)
77
79
  else
78
80
  BigDecimal(number)
79
81
  end
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.2.2.2
4
+ version: 7.2.3.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - David Heinemeier Hansson
@@ -90,6 +90,9 @@ dependencies:
90
90
  - - ">="
91
91
  - !ruby/object:Gem::Version
92
92
  version: '5.1'
93
+ - - "<"
94
+ - !ruby/object:Gem::Version
95
+ version: '6'
93
96
  type: :runtime
94
97
  prerelease: false
95
98
  version_requirements: !ruby/object:Gem::Requirement
@@ -97,6 +100,9 @@ dependencies:
97
100
  - - ">="
98
101
  - !ruby/object:Gem::Version
99
102
  version: '5.1'
103
+ - - "<"
104
+ - !ruby/object:Gem::Version
105
+ version: '6'
100
106
  - !ruby/object:Gem::Dependency
101
107
  name: base64
102
108
  requirement: !ruby/object:Gem::Requirement
@@ -313,6 +319,7 @@ files:
313
319
  - lib/active_support/core_ext/range/conversions.rb
314
320
  - lib/active_support/core_ext/range/each.rb
315
321
  - lib/active_support/core_ext/range/overlap.rb
322
+ - lib/active_support/core_ext/range/sole.rb
316
323
  - lib/active_support/core_ext/regexp.rb
317
324
  - lib/active_support/core_ext/securerandom.rb
318
325
  - lib/active_support/core_ext/string.rb
@@ -459,7 +466,6 @@ files:
459
466
  - lib/active_support/testing/parallelize_executor.rb
460
467
  - lib/active_support/testing/setup_and_teardown.rb
461
468
  - lib/active_support/testing/stream.rb
462
- - lib/active_support/testing/strict_warnings.rb
463
469
  - lib/active_support/testing/tagged_logging.rb
464
470
  - lib/active_support/testing/tests_without_assertions.rb
465
471
  - lib/active_support/testing/time_helpers.rb
@@ -479,10 +485,10 @@ licenses:
479
485
  - MIT
480
486
  metadata:
481
487
  bug_tracker_uri: https://github.com/rails/rails/issues
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/
488
+ changelog_uri: https://github.com/rails/rails/blob/v7.2.3.1/activesupport/CHANGELOG.md
489
+ documentation_uri: https://api.rubyonrails.org/v7.2.3.1/
484
490
  mailing_list_uri: https://discuss.rubyonrails.org/c/rubyonrails-talk
485
- source_code_uri: https://github.com/rails/rails/tree/v7.2.2.2/activesupport
491
+ source_code_uri: https://github.com/rails/rails/tree/v7.2.3.1/activesupport
486
492
  rubygems_mfa_required: 'true'
487
493
  rdoc_options:
488
494
  - "--encoding"
@@ -500,7 +506,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
500
506
  - !ruby/object:Gem::Version
501
507
  version: '0'
502
508
  requirements: []
503
- rubygems_version: 3.6.9
509
+ rubygems_version: 4.0.6
504
510
  specification_version: 4
505
511
  summary: A toolkit of support libraries and Ruby core extensions extracted from the
506
512
  Rails framework.
@@ -1,43 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- $VERBOSE = true
4
- Warning[:deprecated] = true
5
-
6
- module ActiveSupport
7
- module RaiseWarnings # :nodoc:
8
- class WarningError < StandardError; end
9
-
10
- PROJECT_ROOT = File.expand_path("../../../../", __dir__)
11
- ALLOWED_WARNINGS = Regexp.union(
12
- /circular require considered harmful.*delayed_job/, # Bug in delayed job.
13
-
14
- # Expected non-verbose warning emitted by Rails.
15
- /Ignoring .*\.yml because it has expired/,
16
- /Failed to validate the schema cache because/,
17
-
18
- # TODO: We need to decide what to do with this.
19
- /Status code :unprocessable_entity is deprecated/
20
- )
21
-
22
- SUPPRESSED_WARNINGS = Regexp.union(
23
- # TODO: remove if https://github.com/mikel/mail/pull/1557 or similar fix
24
- %r{/lib/mail/parsers/.*statement not reached},
25
- %r{/lib/mail/parsers/.*assigned but unused variable - disp_type_s},
26
- %r{/lib/mail/parsers/.*assigned but unused variable - testEof}
27
- )
28
-
29
- def warn(message, ...)
30
- return if SUPPRESSED_WARNINGS.match?(message)
31
-
32
- super
33
-
34
- return unless message.include?(PROJECT_ROOT)
35
- return if ALLOWED_WARNINGS.match?(message)
36
- return unless ENV["RAILS_STRICT_WARNINGS"] || ENV["BUILDKITE"]
37
-
38
- raise WarningError.new(message)
39
- end
40
- end
41
- end
42
-
43
- Warning.singleton_class.prepend(ActiveSupport::RaiseWarnings)