Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package rubygem-activesupport-7.0 for 
openSUSE:Factory checked in at 2023-11-02 20:23:15
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/rubygem-activesupport-7.0 (Old)
 and      /work/SRC/openSUSE:Factory/.rubygem-activesupport-7.0.new.17445 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "rubygem-activesupport-7.0"

Thu Nov  2 20:23:15 2023 rev:11 rq:1122888 version:7.0.8

Changes:
--------
--- 
/work/SRC/openSUSE:Factory/rubygem-activesupport-7.0/rubygem-activesupport-7.0.changes
      2023-07-03 17:43:18.268901935 +0200
+++ 
/work/SRC/openSUSE:Factory/.rubygem-activesupport-7.0.new.17445/rubygem-activesupport-7.0.changes
   2023-11-02 20:23:45.068872090 +0100
@@ -1,0 +2,65 @@
+Thu Nov  2 15:34:48 UTC 2023 - Dan Čermák <dan.cer...@posteo.net>
+
+- ## Rails 7.0.8 (September 09, 2023) ##
+
+*   Fix `TimeWithZone` still using deprecated `#to_s` when `ENV` or `config` to
+    disable it are set.
+
+    *Hartley McGuire*
+
+*   Fix CacheStore#write_multi when using a distributed Redis cache with a 
connection pool.
+
+    Fixes [#48938](https://github.com/rails/rails/issues/48938).
+
+    *Jonathan del Strother*
+
+## Rails 7.0.7.2 (August 22, 2023) ##
+
+*   No changes.
+
+## Rails 7.0.7.1 (August 22, 2023) ##
+
+*   Use a temporary file for storing unencrypted files while editing
+
+    [CVE-2023-38037]
+
+## Rails 7.0.7 (August 09, 2023) ##
+
+*   Fix `Cache::NullStore` with local caching for repeated reads.
+
+    *fatkodima*
+
+*   Fix `to_s` with no arguments not respecting custom `:default` formats
+
+    *Hartley McGuire*
+
+*   Fix `ActiveSupport::Inflector.humanize(nil)` raising ``NoMethodError: 
undefined method `end_with?' for nil:NilClass``.
+
+    *James Robinson*
+
+*   Fix `Enumerable#sum` for `Enumerator#lazy`.
+
+    *fatkodima*, *Matthew Draper*, *Jonathan Hefner*
+
+*   Improve error message when EventedFileUpdateChecker is used without a
+    compatible version of the Listen gem
+
+    *Hartley McGuire*
+
+## Rails 7.0.6 (June 29, 2023) ##
+
+*   Fix `EncryptedConfiguration` returning incorrect values for some `Hash`
+    methods
+
+    *Hartley McGuire*
+
+*   Fix arguments being destructed `Enumerable#many?` with block.
+
+    *Andrew Novoselac*
+
+*   Fix humanize for strings ending with id.
+
+    *fatkodima*
+
+
+-------------------------------------------------------------------

Old:
----
  activesupport-7.0.5.1.gem

New:
----
  activesupport-7.0.8.gem

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ rubygem-activesupport-7.0.spec ++++++
--- /var/tmp/diff_new_pack.pAEdTf/_old  2023-11-02 20:23:45.596891518 +0100
+++ /var/tmp/diff_new_pack.pAEdTf/_new  2023-11-02 20:23:45.596891518 +0100
@@ -24,12 +24,11 @@
 #
 
 Name:           rubygem-activesupport-7.0
-Version:        7.0.5.1
+Version:        7.0.8
 Release:        0
 %define mod_name activesupport
 %define mod_full_name %{mod_name}-%{version}
 %define mod_version_suffix -7.0
-BuildRoot:      %{_tmppath}/%{name}-%{version}-build
 BuildRequires:  %{ruby >= 2.7.0}
 BuildRequires:  %{rubygem gem2rpm}
 BuildRequires:  %{rubygem rdoc > 3.10}
@@ -39,7 +38,6 @@
 Source1:        gem2rpm.yml
 Summary:        A toolkit of support libraries and Ruby core extensions 
extracted
 License:        MIT
-Group:          Development/Languages/Ruby
 
 %description
 A toolkit of support libraries and Ruby core extensions extracted from the

++++++ activesupport-7.0.5.1.gem -> activesupport-7.0.8.gem ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/CHANGELOG.md new/CHANGELOG.md
--- old/CHANGELOG.md    2023-06-26 23:35:09.000000000 +0200
+++ new/CHANGELOG.md    2023-09-09 21:09:42.000000000 +0200
@@ -1,3 +1,69 @@
+## Rails 7.0.8 (September 09, 2023) ##
+
+*   Fix `TimeWithZone` still using deprecated `#to_s` when `ENV` or `config` to
+    disable it are set.
+
+    *Hartley McGuire*
+
+*   Fix CacheStore#write_multi when using a distributed Redis cache with a 
connection pool.
+
+    Fixes [#48938](https://github.com/rails/rails/issues/48938).
+
+    *Jonathan del Strother*
+
+
+## Rails 7.0.7.2 (August 22, 2023) ##
+
+*   No changes.
+
+
+## Rails 7.0.7.1 (August 22, 2023) ##
+
+*   Use a temporary file for storing unencrypted files while editing
+
+    [CVE-2023-38037]
+
+
+## Rails 7.0.7 (August 09, 2023) ##
+
+*   Fix `Cache::NullStore` with local caching for repeated reads.
+
+    *fatkodima*
+
+*   Fix `to_s` with no arguments not respecting custom `:default` formats
+
+    *Hartley McGuire*
+
+*   Fix `ActiveSupport::Inflector.humanize(nil)` raising ``NoMethodError: 
undefined method `end_with?' for nil:NilClass``.
+
+    *James Robinson*
+
+*   Fix `Enumerable#sum` for `Enumerator#lazy`.
+
+    *fatkodima*, *Matthew Draper*, *Jonathan Hefner*
+
+*   Improve error message when EventedFileUpdateChecker is used without a
+    compatible version of the Listen gem
+
+    *Hartley McGuire*
+
+
+## Rails 7.0.6 (June 29, 2023) ##
+
+*   Fix `EncryptedConfiguration` returning incorrect values for some `Hash`
+    methods
+
+    *Hartley McGuire*
+
+*   Fix arguments being destructed `Enumerable#many?` with block.
+
+    *Andrew Novoselac*
+
+*   Fix humanize for strings ending with id.
+
+    *fatkodima*
+
+
 ## Rails 7.0.5.1 (June 26, 2023) ##
 
 *   No changes.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/README.rdoc new/README.rdoc
--- old/README.rdoc     2023-06-26 23:35:09.000000000 +0200
+++ new/README.rdoc     2023-09-09 21:09:42.000000000 +0200
@@ -13,7 +13,7 @@
 
   $ gem install activesupport
 
-Source code can be downloaded as part of the Rails project on GitHub:
+Source code can be downloaded as part of the \Rails project on GitHub:
 
 * https://github.com/rails/rails/tree/main/activesupport
 
@@ -31,7 +31,7 @@
 
 * https://api.rubyonrails.org
 
-Bug reports for the Ruby on Rails project can be filed here:
+Bug reports for the Ruby on \Rails project can be filed here:
 
 * https://github.com/rails/rails/issues
 
Binary files old/checksums.yaml.gz and new/checksums.yaml.gz differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/active_support/cache/redis_cache_store.rb 
new/lib/active_support/cache/redis_cache_store.rb
--- old/lib/active_support/cache/redis_cache_store.rb   2023-06-26 
23:35:09.000000000 +0200
+++ new/lib/active_support/cache/redis_cache_store.rb   2023-09-09 
21:09:42.000000000 +0200
@@ -313,13 +313,15 @@
 
       private
         def set_redis_capabilities
-          case redis
-          when Redis::Distributed
-            @mget_capable = true
-            @mset_capable = false
-          else
-            @mget_capable = true
-            @mset_capable = true
+          redis.with do |c|
+            case c
+            when Redis::Distributed
+              @mget_capable = true
+              @mset_capable = false
+            else
+              @mget_capable = true
+              @mset_capable = true
+            end
           end
         end
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/active_support/cache/strategy/local_cache.rb 
new/lib/active_support/cache/strategy/local_cache.rb
--- old/lib/active_support/cache/strategy/local_cache.rb        2023-06-26 
23:35:09.000000000 +0200
+++ new/lib/active_support/cache/strategy/local_cache.rb        2023-09-09 
21:09:42.000000000 +0200
@@ -124,7 +124,7 @@
 
             local_entries = local_cache.read_multi_entries(keys)
             local_entries.transform_values! do |payload|
-              deserialize_entry(payload).value
+              deserialize_entry(payload)&.value
             end
             missed_keys = keys - local_entries.keys
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/lib/active_support/core_ext/date/deprecated_conversions.rb 
new/lib/active_support/core_ext/date/deprecated_conversions.rb
--- old/lib/active_support/core_ext/date/deprecated_conversions.rb      
2023-06-26 23:35:09.000000000 +0200
+++ new/lib/active_support/core_ext/date/deprecated_conversions.rb      
2023-09-09 21:09:42.000000000 +0200
@@ -15,7 +15,21 @@
         strftime(formatter)
       end
     elsif format == NOT_SET
-      to_default_s
+      if formatter = DATE_FORMATS[:default]
+        ActiveSupport::Deprecation.warn(<<-MSG.squish)
+          Using a :default format for Date#to_s is deprecated. Please use 
Date#to_fs instead. If you fixed all places
+          inside your application that you see this deprecation, you can set
+          `ENV['RAILS_DISABLE_DEPRECATED_TO_S_CONVERSION']` to `"true"` in the 
`config/application.rb` file before
+          the `Bundler.require` call to fix all the callers outside of your 
application.
+        MSG
+        if formatter.respond_to?(:call)
+          formatter.call(self).to_s
+        else
+          strftime(formatter)
+        end
+      else
+        to_default_s
+      end
     else
       ActiveSupport::Deprecation.warn(
         "Date#to_s(#{format.inspect}) is deprecated. Please use 
Date#to_fs(#{format.inspect}) instead."
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/lib/active_support/core_ext/date_time/deprecated_conversions.rb 
new/lib/active_support/core_ext/date_time/deprecated_conversions.rb
--- old/lib/active_support/core_ext/date_time/deprecated_conversions.rb 
2023-06-26 23:35:09.000000000 +0200
+++ new/lib/active_support/core_ext/date_time/deprecated_conversions.rb 
2023-09-09 21:09:42.000000000 +0200
@@ -11,7 +11,21 @@
       )
       formatter.respond_to?(:call) ? formatter.call(self).to_s : 
strftime(formatter)
     elsif format == NOT_SET
-      to_default_s
+      if formatter = ::Time::DATE_FORMATS[:default]
+        ActiveSupport::Deprecation.warn(<<-MSG.squish)
+          Using a :default format for DateTime#to_s is deprecated. Please use 
DateTime#to_fs instead. If you fixed all
+          places inside your application that you see this deprecation, you 
can set
+          `ENV['RAILS_DISABLE_DEPRECATED_TO_S_CONVERSION']` to `"true"` in the 
`config/application.rb` file before
+          the `Bundler.require` call to fix all the callers outside of your 
application.
+        MSG
+        if formatter.respond_to?(:call)
+          formatter.call(self).to_s
+        else
+          strftime(formatter)
+        end
+      else
+        to_default_s
+      end
     else
       ActiveSupport::Deprecation.warn(
         "DateTime#to_s(#{format.inspect}) is deprecated. Please use 
DateTime#to_fs(#{format.inspect}) instead."
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/active_support/core_ext/enumerable.rb 
new/lib/active_support/core_ext/enumerable.rb
--- old/lib/active_support/core_ext/enumerable.rb       2023-06-26 
23:35:09.000000000 +0200
+++ new/lib/active_support/core_ext/enumerable.rb       2023-09-09 
21:09:42.000000000 +0200
@@ -76,19 +76,24 @@
       _original_sum_with_required_identity(identity, &block)
     elsif block_given?
       map(&block).sum
-    # we check `first(1) == []` to check if we have an
-    # empty Enumerable; checking `empty?` would return
-    # true for `[nil]`, which we want to deprecate to
-    # keep consistent with Ruby
-    elsif first.is_a?(Numeric) || first(1) == [] || first.respond_to?(:coerce)
-      identity ||= 0
-      _original_sum_with_required_identity(identity, &block)
     else
-      ActiveSupport::Deprecation.warn(<<-MSG.squish)
-        Rails 7.0 has deprecated Enumerable.sum in favor of Ruby's native 
implementation available since 2.4.
-        Sum of non-numeric elements requires an initial argument.
-      MSG
-      inject(:+) || 0
+      first = true
+
+      reduce(nil) do |sum, value|
+        if first
+          first = false
+
+          unless value.is_a?(Numeric) || value.respond_to?(:coerce)
+            ActiveSupport::Deprecation.warn(<<-MSG.squish)
+              Rails 7.0 has deprecated Enumerable.sum in favor of Ruby's 
native implementation available since 2.4.
+              Sum of non-numeric elements requires an initial argument.
+            MSG
+          end
+          value
+        else
+          sum + value
+        end
+      end || 0
     end
   end
 
@@ -144,8 +149,8 @@
   def many?
     cnt = 0
     if block_given?
-      any? do |element, *args|
-        cnt += 1 if yield element, *args
+      any? do |*args|
+        cnt += 1 if yield(*args)
         cnt > 1
       end
     else
@@ -245,7 +250,7 @@
   # If the +series+ include keys that have no corresponding element in the 
Enumerable, these are ignored.
   # If the Enumerable has additional elements that aren't named in the 
+series+, these are not included in the result.
   def in_order_of(key, series)
-    group_by(&key).values_at(*series).flatten.compact
+    group_by(&key).values_at(*series).flatten(1).compact
   end
 
   # Returns the sole item in the enumerable. If there are no items, or more
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/active_support/core_ext/object/to_query.rb 
new/lib/active_support/core_ext/object/to_query.rb
--- old/lib/active_support/core_ext/object/to_query.rb  2023-06-26 
23:35:09.000000000 +0200
+++ new/lib/active_support/core_ext/object/to_query.rb  2023-09-09 
21:09:42.000000000 +0200
@@ -72,8 +72,6 @@
   #
   # The string pairs "key=value" that conform the query string
   # are sorted lexicographically in ascending order.
-  #
-  # This method is also aliased as +to_param+.
   def to_query(namespace = nil)
     query = filter_map do |key, value|
       unless (value.is_a?(Hash) || value.is_a?(Array)) && value.empty?
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/lib/active_support/core_ext/range/deprecated_conversions.rb 
new/lib/active_support/core_ext/range/deprecated_conversions.rb
--- old/lib/active_support/core_ext/range/deprecated_conversions.rb     
2023-06-26 23:35:09.000000000 +0200
+++ new/lib/active_support/core_ext/range/deprecated_conversions.rb     
2023-09-09 21:09:42.000000000 +0200
@@ -10,7 +10,17 @@
         )
         formatter.call(first, last)
       elsif format == NOT_SET
-        super()
+        if formatter = RangeWithFormat::RANGE_FORMATS[:default]
+          ActiveSupport::Deprecation.warn(<<-MSG.squish)
+            Using a :default format for Range#to_s is deprecated. Please use 
Range#to_fs instead. If you fixed all
+            places inside your application that you see this deprecation, you 
can set
+            `ENV['RAILS_DISABLE_DEPRECATED_TO_S_CONVERSION']` to `"true"` in 
the `config/application.rb` file before
+            the `Bundler.require` call to fix all the callers outside of your 
application.
+          MSG
+          formatter.call(first, last)
+        else
+          super()
+        end
       else
         ActiveSupport::Deprecation.warn(
           "Range#to_s(#{format.inspect}) is deprecated. Please use 
Range#to_fs(#{format.inspect}) instead."
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/active_support/core_ext/string/inflections.rb 
new/lib/active_support/core_ext/string/inflections.rb
--- old/lib/active_support/core_ext/string/inflections.rb       2023-06-26 
23:35:09.000000000 +0200
+++ new/lib/active_support/core_ext/string/inflections.rb       2023-09-09 
21:09:42.000000000 +0200
@@ -97,8 +97,6 @@
   #   'active_record/errors'.camelize         # => "ActiveRecord::Errors"
   #   'active_record/errors'.camelize(:lower) # => "activeRecord::Errors"
   #
-  # +camelize+ is also aliased as +camelcase+.
-  #
   # See ActiveSupport::Inflector.camelize.
   def camelize(first_letter = :upper)
     case first_letter
@@ -124,8 +122,6 @@
   #   'x-men: the last stand'.titleize                        # => "X Men: The 
Last Stand"
   #   'string_ending_with_id'.titleize(keep_id_suffix: true)  # => "String 
Ending With Id"
   #
-  # +titleize+ is also aliased as +titlecase+.
-  #
   # See ActiveSupport::Inflector.titleize.
   def titleize(keep_id_suffix: false)
     ActiveSupport::Inflector.titleize(self, keep_id_suffix: keep_id_suffix)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/lib/active_support/core_ext/time/deprecated_conversions.rb 
new/lib/active_support/core_ext/time/deprecated_conversions.rb
--- old/lib/active_support/core_ext/time/deprecated_conversions.rb      
2023-06-26 23:35:09.000000000 +0200
+++ new/lib/active_support/core_ext/time/deprecated_conversions.rb      
2023-09-09 21:09:42.000000000 +0200
@@ -11,7 +11,21 @@
       )
       formatter.respond_to?(:call) ? formatter.call(self).to_s : 
strftime(formatter)
     elsif format == NOT_SET
-      to_default_s
+      if formatter = ::Time::DATE_FORMATS[:default]
+        ActiveSupport::Deprecation.warn(<<-MSG.squish)
+          Using a :default format for Time#to_s is deprecated. Please use 
Time#to_fs instead. If you fixed all places
+          inside your application that you see this deprecation, you can set
+          `ENV['RAILS_DISABLE_DEPRECATED_TO_S_CONVERSION']` to `"true"` in the 
`config/application.rb` file before
+           the `Bundler.require` call to fix all the callers outside of your 
application.
+        MSG
+        if formatter.respond_to?(:call)
+          formatter.call(self).to_s
+        else
+          strftime(formatter)
+        end
+      else
+        to_default_s
+      end
     else
       ActiveSupport::Deprecation.warn(
         "Time#to_s(#{format.inspect}) is deprecated. Please use 
Time#to_fs(#{format.inspect}) instead."
@@ -20,3 +34,40 @@
     end
   end
 end
+
+module ActiveSupport
+  class TimeWithZone
+    NOT_SET = Object.new # :nodoc:
+
+    def to_s(format = NOT_SET) # :nodoc:
+      if format == :db
+        ActiveSupport::Deprecation.warn(
+          "TimeWithZone#to_s(:db) is deprecated. Please use 
TimeWithZone#to_fs(:db) instead."
+        )
+        utc.to_fs(format)
+      elsif formatter = ::Time::DATE_FORMATS[format]
+        ActiveSupport::Deprecation.warn(
+          "TimeWithZone#to_s(#{format.inspect}) is deprecated. Please use 
TimeWithZone#to_fs(#{format.inspect}) instead."
+        )
+        formatter.respond_to?(:call) ? formatter.call(self).to_s : 
strftime(formatter)
+      elsif format == NOT_SET
+        if formatter = ::Time::DATE_FORMATS[:default]
+          ActiveSupport::Deprecation.warn(<<-MSG.squish)
+            Using a :default format for TimeWithZone#to_s is deprecated. 
Please use TimeWithZone#to_fs instead.
+            If you fixed all places inside your application that you see this 
deprecation, you can set
+            `ENV['RAILS_DISABLE_DEPRECATED_TO_S_CONVERSION']` to `"true"` in 
the `config/application.rb` file before
+            the `Bundler.require` call to fix all the callers outside of your 
application.
+          MSG
+          formatter.respond_to?(:call) ? formatter.call(self).to_s : 
strftime(formatter)
+        else
+          "#{time.strftime("%Y-%m-%d %H:%M:%S")} #{formatted_offset(false, 
'UTC')}" # mimicking Ruby Time#to_s format
+        end
+      else
+        ActiveSupport::Deprecation.warn(
+          "TimeWithZone#to_s(#{format.inspect}) is deprecated. Please use 
TimeWithZone#to_fs(#{format.inspect}) instead."
+        )
+        "#{time.strftime("%Y-%m-%d %H:%M:%S")} #{formatted_offset(false, 
'UTC')}" # mimicking Ruby Time#to_s format
+      end
+    end
+  end
+end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/active_support/encrypted_configuration.rb 
new/lib/active_support/encrypted_configuration.rb
--- old/lib/active_support/encrypted_configuration.rb   2023-06-26 
23:35:09.000000000 +0200
+++ new/lib/active_support/encrypted_configuration.rb   2023-09-09 
21:09:42.000000000 +0200
@@ -76,7 +76,7 @@
       end
 
       def options
-        @options ||= 
ActiveSupport::InheritableOptions.new(deep_transform(config))
+        @options ||= deep_transform(config)
       end
 
       def deserialize(config)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/active_support/encrypted_file.rb 
new/lib/active_support/encrypted_file.rb
--- old/lib/active_support/encrypted_file.rb    2023-06-26 23:35:09.000000000 
+0200
+++ new/lib/active_support/encrypted_file.rb    2023-09-09 21:09:42.000000000 
+0200
@@ -1,7 +1,7 @@
 # frozen_string_literal: true
 
 require "pathname"
-require "tmpdir"
+require "tempfile"
 require "active_support/message_encryptor"
 
 module ActiveSupport
@@ -81,17 +81,16 @@
 
     private
       def writing(contents)
-        tmp_file = "#{Process.pid}.#{content_path.basename.to_s.chomp('.enc')}"
-        tmp_path = Pathname.new File.join(Dir.tmpdir, tmp_file)
-        tmp_path.binwrite contents
+        Tempfile.create(["", "-" + content_path.basename.to_s.chomp(".enc")]) 
do |tmp_file|
+          tmp_path = Pathname.new(tmp_file)
+          tmp_path.binwrite contents
 
-        yield tmp_path
+          yield tmp_path
 
-        updated_contents = tmp_path.binread
+          updated_contents = tmp_path.binread
 
-        write(updated_contents) if updated_contents != contents
-      ensure
-        FileUtils.rm(tmp_path) if tmp_path&.exist?
+          write(updated_contents) if updated_contents != contents
+        end
       end
 
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/active_support/evented_file_update_checker.rb 
new/lib/active_support/evented_file_update_checker.rb
--- old/lib/active_support/evented_file_update_checker.rb       2023-06-26 
23:35:09.000000000 +0200
+++ new/lib/active_support/evented_file_update_checker.rb       2023-09-09 
21:09:42.000000000 +0200
@@ -1,9 +1,11 @@
 # frozen_string_literal: true
 
+gem "listen", "~> 3.5"
+require "listen"
+
 require "set"
 require "pathname"
 require "concurrent/atomic/atomic_boolean"
-require "listen"
 require "active_support/fork_tracker"
 
 module ActiveSupport
@@ -43,6 +45,10 @@
       ObjectSpace.define_finalizer(self, @core.finalizer)
     end
 
+    def inspect
+      "#<ActiveSupport::EventedFileUpdateChecker:#{object_id} 
@files=#{@core.files.to_a.inspect}"
+    end
+
     def updated?
       if @core.restart?
         @core.thread_safely(&:restart)
@@ -66,7 +72,7 @@
     end
 
     class Core
-      attr_reader :updated
+      attr_reader :updated, :files
 
       def initialize(files, dirs)
         @files = files.map { |file| Pathname(file).expand_path }.to_set
@@ -84,6 +90,10 @@
         @mutex = Mutex.new
 
         start
+        # inotify / FSEvents file descriptors are inherited on fork, so
+        # we need to reopen them otherwise only the parent or the child
+        # will be notified.
+        # FIXME: this callback is keeping a reference on the instance
         @after_fork = ActiveSupport::ForkTracker.after_fork { start }
       end
 
@@ -105,6 +115,11 @@
         @dtw, @missing = [*@dtw, *@missing].partition(&:exist?)
         @listener = @dtw.any? ? Listen.to(*@dtw, &method(:changed)) : nil
         @listener&.start
+
+        # Wait for the listener to be ready to avoid race conditions
+        # Unfortunately this isn't quite enough on macOS because the Darwin 
backend
+        # has an extra private thread we can't wait on.
+        @listener&.wait_for_state(:processing_events)
       end
 
       def stop
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/active_support/gem_version.rb 
new/lib/active_support/gem_version.rb
--- old/lib/active_support/gem_version.rb       2023-06-26 23:35:09.000000000 
+0200
+++ new/lib/active_support/gem_version.rb       2023-09-09 21:09:42.000000000 
+0200
@@ -9,8 +9,8 @@
   module VERSION
     MAJOR = 7
     MINOR = 0
-    TINY  = 5
-    PRE   = "1"
+    TINY  = 8
+    PRE   = nil
 
     STRING = [MAJOR, MINOR, TINY, PRE].compact.join(".")
   end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/active_support/inflector/methods.rb 
new/lib/active_support/inflector/methods.rb
--- old/lib/active_support/inflector/methods.rb 2023-06-26 23:35:09.000000000 
+0200
+++ new/lib/active_support/inflector/methods.rb 2023-09-09 21:09:42.000000000 
+0200
@@ -136,7 +136,7 @@
 
       result.tr!("_", " ")
       result.lstrip!
-      unless keep_id_suffix
+      if !keep_id_suffix && lower_case_and_underscored_word&.end_with?("_id")
         result.delete_suffix!(" id")
       end
 
@@ -172,8 +172,6 @@
     # optional parameter +keep_id_suffix+ to true.
     # By default, this parameter is false.
     #
-    # +titleize+ is also aliased as +titlecase+.
-    #
     #   titleize('man from the boondocks')                       # => "Man 
From The Boondocks"
     #   titleize('x-men: the last stand')                        # => "X Men: 
The Last Stand"
     #   titleize('TheManWithoutAPast')                           # => "The Man 
Without A Past"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/active_support/time_with_zone.rb 
new/lib/active_support/time_with_zone.rb
--- old/lib/active_support/time_with_zone.rb    2023-06-26 23:35:09.000000000 
+0200
+++ new/lib/active_support/time_with_zone.rb    2023-09-09 21:09:42.000000000 
+0200
@@ -206,28 +206,9 @@
     end
     alias_method :rfc822, :rfc2822
 
-    NOT_SET = Object.new # :nodoc:
-
     # Returns a string of the object's date and time.
-    def to_s(format = NOT_SET)
-      if format == :db
-        ActiveSupport::Deprecation.warn(
-          "TimeWithZone#to_s(:db) is deprecated. Please use 
TimeWithZone#to_fs(:db) instead."
-        )
-        utc.to_fs(format)
-      elsif formatter = ::Time::DATE_FORMATS[format]
-        ActiveSupport::Deprecation.warn(
-          "TimeWithZone#to_s(#{format.inspect}) is deprecated. Please use 
TimeWithZone#to_fs(#{format.inspect}) instead."
-        )
-        formatter.respond_to?(:call) ? formatter.call(self).to_s : 
strftime(formatter)
-      elsif format == NOT_SET
-        "#{time.strftime("%Y-%m-%d %H:%M:%S")} #{formatted_offset(false, 
'UTC')}" # mimicking Ruby Time#to_s format
-      else
-        ActiveSupport::Deprecation.warn(
-          "TimeWithZone#to_s(#{format.inspect}) is deprecated. Please use 
TimeWithZone#to_fs(#{format.inspect}) instead."
-        )
-        "#{time.strftime("%Y-%m-%d %H:%M:%S")} #{formatted_offset(false, 
'UTC')}" # mimicking Ruby Time#to_s format
-      end
+    def to_s
+      "#{time.strftime("%Y-%m-%d %H:%M:%S")} #{formatted_offset(false, 
'UTC')}" # mimicking Ruby Time#to_s format
     end
 
     # Returns a string of the object's date and time.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/metadata new/metadata
--- old/metadata        2023-06-26 23:35:09.000000000 +0200
+++ new/metadata        2023-09-09 21:09:42.000000000 +0200
@@ -1,14 +1,14 @@
 --- !ruby/object:Gem::Specification
 name: activesupport
 version: !ruby/object:Gem::Version
-  version: 7.0.5.1
+  version: 7.0.8
 platform: ruby
 authors:
 - David Heinemeier Hansson
 autorequire:
 bindir: bin
 cert_chain: []
-date: 2023-06-26 00:00:00.000000000 Z
+date: 2023-09-09 00:00:00.000000000 Z
 dependencies:
 - !ruby/object:Gem::Dependency
   name: i18n
@@ -359,10 +359,10 @@
 - MIT
 metadata:
   bug_tracker_uri: https://github.com/rails/rails/issues
-  changelog_uri: 
https://github.com/rails/rails/blob/v7.0.5.1/activesupport/CHANGELOG.md
-  documentation_uri: https://api.rubyonrails.org/v7.0.5.1/
+  changelog_uri: 
https://github.com/rails/rails/blob/v7.0.8/activesupport/CHANGELOG.md
+  documentation_uri: https://api.rubyonrails.org/v7.0.8/
   mailing_list_uri: https://discuss.rubyonrails.org/c/rubyonrails-talk
-  source_code_uri: https://github.com/rails/rails/tree/v7.0.5.1/activesupport
+  source_code_uri: https://github.com/rails/rails/tree/v7.0.8/activesupport
   rubygems_mfa_required: 'true'
 post_install_message:
 rdoc_options:
@@ -381,7 +381,7 @@
     - !ruby/object:Gem::Version
       version: '0'
 requirements: []
-rubygems_version: 3.3.3
+rubygems_version: 3.4.18
 signing_key:
 specification_version: 4
 summary: A toolkit of support libraries and Ruby core extensions extracted 
from the

Reply via email to