activesupport 7.0.6 → 7.0.7

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of activesupport might be problematic. Click here for more details.

checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 817ceee259b12be4eff5b6dce8d0a471f80a6e103e9fa3ddb7846889f617df14
4
- data.tar.gz: f6cac911c197763c9244a04fcf77e6065b778c607e1ec4e132fd21f2f07a114d
3
+ metadata.gz: 80a7bd049eb2334eb8d890f9c6e9aa59ac18ad0f389901ab2095325f975c9bf3
4
+ data.tar.gz: 6c81983a51ecab1619501c6408dd72bcda286ac4a8f10f7238d911c88a89a074
5
5
  SHA512:
6
- metadata.gz: 6b65a232e1c6e638092aaf4953fa6e876199568367922159498cdc46b2ebad6456e2ab78d81bbfcad8a9e4f6e4303ff797a1efacf98c3994b710bb25ffeff391
7
- data.tar.gz: 1d3d4c10c667ea3ce71033128ba6634347cdcaf30d8141fa1888d76978754187ec0d0e3a33c6a506da7669e99d030e1a0553f77a36e537d427fd223d478278e7
6
+ metadata.gz: e5dc3de073888174d4cf67504cf410cd40930f91b7a6acc3e2cb070443f0001921500ec12b759dbb1889b03452b006bd9eb1df27f66a7e9453e0ee71d0e28b90
7
+ data.tar.gz: c36cc3363dd654026af0f821737b0775de90111e4d8f4e1e7b1a27f42345d110d254c308080fc0f6c7e8e62a63e0ce7e08c69978609c137fd9d0a49cd348aa09
data/CHANGELOG.md CHANGED
@@ -1,3 +1,27 @@
1
+ ## Rails 7.0.7 (August 09, 2023) ##
2
+
3
+ * Fix `Cache::NullStore` with local caching for repeated reads.
4
+
5
+ *fatkodima*
6
+
7
+ * Fix `to_s` with no arguments not respecting custom `:default` formats
8
+
9
+ *Hartley McGuire*
10
+
11
+ * Fix `ActiveSupport::Inflector.humanize(nil)` raising ``NoMethodError: undefined method `end_with?' for nil:NilClass``.
12
+
13
+ *James Robinson*
14
+
15
+ * Fix `Enumerable#sum` for `Enumerator#lazy`.
16
+
17
+ *fatkodima*, *Matthew Draper*, *Jonathan Hefner*
18
+
19
+ * Improve error message when EventedFileUpdateChecker is used without a
20
+ compatible version of the Listen gem
21
+
22
+ *Hartley McGuire*
23
+
24
+
1
25
  ## Rails 7.0.6 (June 29, 2023) ##
2
26
 
3
27
  * Fix `EncryptedConfiguration` returning incorrect values for some `Hash`
@@ -124,7 +124,7 @@ module ActiveSupport
124
124
 
125
125
  local_entries = local_cache.read_multi_entries(keys)
126
126
  local_entries.transform_values! do |payload|
127
- deserialize_entry(payload).value
127
+ deserialize_entry(payload)&.value
128
128
  end
129
129
  missed_keys = keys - local_entries.keys
130
130
 
@@ -15,7 +15,18 @@ class Date
15
15
  strftime(formatter)
16
16
  end
17
17
  elsif format == NOT_SET
18
- to_default_s
18
+ if formatter = DATE_FORMATS[:default]
19
+ ActiveSupport::Deprecation.warn(
20
+ "Using a :default format for Date#to_s is deprecated. Please use Date#to_fs instead."
21
+ )
22
+ if formatter.respond_to?(:call)
23
+ formatter.call(self).to_s
24
+ else
25
+ strftime(formatter)
26
+ end
27
+ else
28
+ to_default_s
29
+ end
19
30
  else
20
31
  ActiveSupport::Deprecation.warn(
21
32
  "Date#to_s(#{format.inspect}) is deprecated. Please use Date#to_fs(#{format.inspect}) instead."
@@ -11,7 +11,18 @@ class DateTime
11
11
  )
12
12
  formatter.respond_to?(:call) ? formatter.call(self).to_s : strftime(formatter)
13
13
  elsif format == NOT_SET
14
- to_default_s
14
+ if formatter = ::Time::DATE_FORMATS[:default]
15
+ ActiveSupport::Deprecation.warn(
16
+ "Using a :default format for DateTime#to_s is deprecated. Please use DateTime#to_fs instead."
17
+ )
18
+ if formatter.respond_to?(:call)
19
+ formatter.call(self).to_s
20
+ else
21
+ strftime(formatter)
22
+ end
23
+ else
24
+ to_default_s
25
+ end
15
26
  else
16
27
  ActiveSupport::Deprecation.warn(
17
28
  "DateTime#to_s(#{format.inspect}) is deprecated. Please use DateTime#to_fs(#{format.inspect}) instead."
@@ -76,19 +76,24 @@ module Enumerable
76
76
  _original_sum_with_required_identity(identity, &block)
77
77
  elsif block_given?
78
78
  map(&block).sum
79
- # we check `first(1) == []` to check if we have an
80
- # empty Enumerable; checking `empty?` would return
81
- # true for `[nil]`, which we want to deprecate to
82
- # keep consistent with Ruby
83
- elsif first.is_a?(Numeric) || first(1) == [] || first.respond_to?(:coerce)
84
- identity ||= 0
85
- _original_sum_with_required_identity(identity, &block)
86
79
  else
87
- ActiveSupport::Deprecation.warn(<<-MSG.squish)
88
- Rails 7.0 has deprecated Enumerable.sum in favor of Ruby's native implementation available since 2.4.
89
- Sum of non-numeric elements requires an initial argument.
90
- MSG
91
- inject(:+) || 0
80
+ first = true
81
+
82
+ reduce(nil) do |sum, value|
83
+ if first
84
+ first = false
85
+
86
+ unless value.is_a?(Numeric) || value.respond_to?(:coerce)
87
+ ActiveSupport::Deprecation.warn(<<-MSG.squish)
88
+ Rails 7.0 has deprecated Enumerable.sum in favor of Ruby's native implementation available since 2.4.
89
+ Sum of non-numeric elements requires an initial argument.
90
+ MSG
91
+ end
92
+ value
93
+ else
94
+ sum + value
95
+ end
96
+ end || 0
92
97
  end
93
98
  end
94
99
 
@@ -10,7 +10,14 @@ module ActiveSupport
10
10
  )
11
11
  formatter.call(first, last)
12
12
  elsif format == NOT_SET
13
- super()
13
+ if formatter = RangeWithFormat::RANGE_FORMATS[:default]
14
+ ActiveSupport::Deprecation.warn(
15
+ "Using a :default format for Range#to_s is deprecated. Please use Range#to_fs instead."
16
+ )
17
+ formatter.call(first, last)
18
+ else
19
+ super()
20
+ end
14
21
  else
15
22
  ActiveSupport::Deprecation.warn(
16
23
  "Range#to_s(#{format.inspect}) is deprecated. Please use Range#to_fs(#{format.inspect}) instead."
@@ -11,7 +11,18 @@ class Time
11
11
  )
12
12
  formatter.respond_to?(:call) ? formatter.call(self).to_s : strftime(formatter)
13
13
  elsif format == NOT_SET
14
- to_default_s
14
+ if formatter = ::Time::DATE_FORMATS[:default]
15
+ ActiveSupport::Deprecation.warn(
16
+ "Using a :default format for Time#to_s is deprecated. Please use Time#to_fs instead."
17
+ )
18
+ if formatter.respond_to?(:call)
19
+ formatter.call(self).to_s
20
+ else
21
+ strftime(formatter)
22
+ end
23
+ else
24
+ to_default_s
25
+ end
15
26
  else
16
27
  ActiveSupport::Deprecation.warn(
17
28
  "Time#to_s(#{format.inspect}) is deprecated. Please use Time#to_fs(#{format.inspect}) instead."
@@ -1,9 +1,11 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ gem "listen", "~> 3.5"
4
+ require "listen"
5
+
3
6
  require "set"
4
7
  require "pathname"
5
8
  require "concurrent/atomic/atomic_boolean"
6
- require "listen"
7
9
  require "active_support/fork_tracker"
8
10
 
9
11
  module ActiveSupport
@@ -9,7 +9,7 @@ module ActiveSupport
9
9
  module VERSION
10
10
  MAJOR = 7
11
11
  MINOR = 0
12
- TINY = 6
12
+ TINY = 7
13
13
  PRE = nil
14
14
 
15
15
  STRING = [MAJOR, MINOR, TINY, PRE].compact.join(".")
@@ -136,7 +136,7 @@ module ActiveSupport
136
136
 
137
137
  result.tr!("_", " ")
138
138
  result.lstrip!
139
- if !keep_id_suffix && lower_case_and_underscored_word.end_with?("_id")
139
+ if !keep_id_suffix && lower_case_and_underscored_word&.end_with?("_id")
140
140
  result.delete_suffix!(" id")
141
141
  end
142
142
 
@@ -221,7 +221,14 @@ module ActiveSupport
221
221
  )
222
222
  formatter.respond_to?(:call) ? formatter.call(self).to_s : strftime(formatter)
223
223
  elsif format == NOT_SET
224
- "#{time.strftime("%Y-%m-%d %H:%M:%S")} #{formatted_offset(false, 'UTC')}" # mimicking Ruby Time#to_s format
224
+ if formatter = ::Time::DATE_FORMATS[:default]
225
+ ActiveSupport::Deprecation.warn(
226
+ "Using a :default format for TimeWithZone#to_s is deprecated. Please use TimeWithZone#to_fs instead."
227
+ )
228
+ formatter.respond_to?(:call) ? formatter.call(self).to_s : strftime(formatter)
229
+ else
230
+ "#{time.strftime("%Y-%m-%d %H:%M:%S")} #{formatted_offset(false, 'UTC')}" # mimicking Ruby Time#to_s format
231
+ end
225
232
  else
226
233
  ActiveSupport::Deprecation.warn(
227
234
  "TimeWithZone#to_s(#{format.inspect}) is deprecated. Please use TimeWithZone#to_fs(#{format.inspect}) instead."
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.6
4
+ version: 7.0.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - David Heinemeier Hansson
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-06-29 00:00:00.000000000 Z
11
+ date: 2023-08-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: i18n
@@ -359,12 +359,12 @@ licenses:
359
359
  - MIT
360
360
  metadata:
361
361
  bug_tracker_uri: https://github.com/rails/rails/issues
362
- changelog_uri: https://github.com/rails/rails/blob/v7.0.6/activesupport/CHANGELOG.md
363
- documentation_uri: https://api.rubyonrails.org/v7.0.6/
362
+ changelog_uri: https://github.com/rails/rails/blob/v7.0.7/activesupport/CHANGELOG.md
363
+ documentation_uri: https://api.rubyonrails.org/v7.0.7/
364
364
  mailing_list_uri: https://discuss.rubyonrails.org/c/rubyonrails-talk
365
- source_code_uri: https://github.com/rails/rails/tree/v7.0.6/activesupport
365
+ source_code_uri: https://github.com/rails/rails/tree/v7.0.7/activesupport
366
366
  rubygems_mfa_required: 'true'
367
- post_install_message:
367
+ post_install_message:
368
368
  rdoc_options:
369
369
  - "--encoding"
370
370
  - UTF-8
@@ -381,8 +381,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
381
381
  - !ruby/object:Gem::Version
382
382
  version: '0'
383
383
  requirements: []
384
- rubygems_version: 3.4.13
385
- signing_key:
384
+ rubygems_version: 3.4.10
385
+ signing_key:
386
386
  specification_version: 4
387
387
  summary: A toolkit of support libraries and Ruby core extensions extracted from the
388
388
  Rails framework.