activesupport 8.0.3 → 8.1.0.rc1
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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +312 -159
- data/lib/active_support/backtrace_cleaner.rb +71 -0
- data/lib/active_support/cache/mem_cache_store.rb +13 -13
- data/lib/active_support/cache/redis_cache_store.rb +36 -30
- data/lib/active_support/cache/strategy/local_cache.rb +16 -7
- data/lib/active_support/cache/strategy/local_cache_middleware.rb +7 -7
- data/lib/active_support/cache.rb +69 -6
- data/lib/active_support/callbacks.rb +20 -8
- data/lib/active_support/concurrency/load_interlock_aware_monitor.rb +8 -62
- data/lib/active_support/concurrency/thread_monitor.rb +55 -0
- data/lib/active_support/configurable.rb +28 -0
- data/lib/active_support/continuous_integration.rb +145 -0
- data/lib/active_support/core_ext/array.rb +7 -7
- data/lib/active_support/core_ext/benchmark.rb +4 -12
- data/lib/active_support/core_ext/big_decimal.rb +1 -1
- data/lib/active_support/core_ext/class/attribute.rb +8 -6
- data/lib/active_support/core_ext/class.rb +2 -2
- data/lib/active_support/core_ext/date.rb +5 -5
- data/lib/active_support/core_ext/date_and_time/compatibility.rb +0 -35
- data/lib/active_support/core_ext/date_time/compatibility.rb +3 -5
- data/lib/active_support/core_ext/date_time.rb +5 -5
- data/lib/active_support/core_ext/digest.rb +1 -1
- data/lib/active_support/core_ext/enumerable.rb +2 -2
- data/lib/active_support/core_ext/erb/util.rb +3 -3
- data/lib/active_support/core_ext/file.rb +1 -1
- data/lib/active_support/core_ext/hash.rb +8 -8
- data/lib/active_support/core_ext/integer.rb +3 -3
- data/lib/active_support/core_ext/kernel.rb +3 -3
- data/lib/active_support/core_ext/module.rb +11 -11
- data/lib/active_support/core_ext/numeric.rb +3 -3
- data/lib/active_support/core_ext/object/json.rb +8 -1
- data/lib/active_support/core_ext/object/to_query.rb +5 -0
- data/lib/active_support/core_ext/object.rb +13 -13
- data/lib/active_support/core_ext/pathname.rb +2 -2
- data/lib/active_support/core_ext/range.rb +4 -5
- data/lib/active_support/core_ext/string/multibyte.rb +10 -1
- data/lib/active_support/core_ext/string/output_safety.rb +19 -12
- data/lib/active_support/core_ext/string.rb +13 -13
- data/lib/active_support/core_ext/symbol.rb +1 -1
- data/lib/active_support/core_ext/time/calculations.rb +0 -7
- data/lib/active_support/core_ext/time/compatibility.rb +2 -27
- data/lib/active_support/core_ext/time.rb +5 -5
- data/lib/active_support/core_ext.rb +1 -1
- data/lib/active_support/current_attributes/test_helper.rb +2 -2
- data/lib/active_support/current_attributes.rb +13 -10
- data/lib/active_support/dependencies/interlock.rb +11 -5
- data/lib/active_support/dependencies.rb +6 -1
- data/lib/active_support/deprecation/reporting.rb +4 -2
- data/lib/active_support/deprecation.rb +1 -1
- data/lib/active_support/editor.rb +70 -0
- data/lib/active_support/error_reporter.rb +50 -6
- data/lib/active_support/event_reporter/test_helper.rb +32 -0
- data/lib/active_support/event_reporter.rb +592 -0
- data/lib/active_support/evented_file_update_checker.rb +5 -1
- data/lib/active_support/execution_context.rb +64 -7
- data/lib/active_support/file_update_checker.rb +7 -5
- data/lib/active_support/gem_version.rb +3 -3
- data/lib/active_support/gzip.rb +1 -0
- data/lib/active_support/hash_with_indifferent_access.rb +27 -7
- data/lib/active_support/i18n_railtie.rb +1 -2
- data/lib/active_support/inflector/inflections.rb +31 -15
- data/lib/active_support/inflector/transliterate.rb +6 -8
- data/lib/active_support/isolated_execution_state.rb +12 -15
- data/lib/active_support/json/decoding.rb +2 -2
- data/lib/active_support/json/encoding.rb +135 -17
- data/lib/active_support/log_subscriber.rb +2 -6
- data/lib/active_support/message_encryptors.rb +52 -0
- data/lib/active_support/message_pack/extensions.rb +5 -0
- data/lib/active_support/message_verifiers.rb +52 -0
- data/lib/active_support/messages/rotation_coordinator.rb +9 -0
- data/lib/active_support/messages/rotator.rb +5 -0
- data/lib/active_support/multibyte/chars.rb +8 -1
- data/lib/active_support/multibyte.rb +4 -0
- data/lib/active_support/notifications/fanout.rb +64 -42
- data/lib/active_support/notifications/instrumenter.rb +1 -1
- data/lib/active_support/railtie.rb +32 -15
- data/lib/active_support/structured_event_subscriber.rb +99 -0
- data/lib/active_support/subscriber.rb +0 -5
- data/lib/active_support/syntax_error_proxy.rb +3 -0
- data/lib/active_support/test_case.rb +61 -6
- data/lib/active_support/testing/assertions.rb +34 -6
- data/lib/active_support/testing/error_reporter_assertions.rb +18 -1
- data/lib/active_support/testing/event_reporter_assertions.rb +227 -0
- data/lib/active_support/testing/notification_assertions.rb +92 -0
- data/lib/active_support/testing/parallelization/server.rb +15 -2
- data/lib/active_support/testing/parallelization/worker.rb +4 -2
- data/lib/active_support/testing/parallelization.rb +25 -1
- data/lib/active_support/testing/tests_without_assertions.rb +1 -1
- data/lib/active_support/testing/time_helpers.rb +7 -3
- data/lib/active_support/time_with_zone.rb +22 -22
- data/lib/active_support/values/time_zone.rb +8 -1
- data/lib/active_support/xml_mini.rb +3 -2
- data/lib/active_support.rb +23 -14
- metadata +24 -17
- data/lib/active_support/core_ext/range/each.rb +0 -24
@@ -238,12 +238,16 @@ module ActiveSupport
|
|
238
238
|
end
|
239
239
|
alias_method :unfreeze_time, :travel_back
|
240
240
|
|
241
|
-
# Calls +travel_to+ with +
|
241
|
+
# Calls +travel_to+ with +date_or_time+, which defaults to +Time.now+.
|
242
|
+
# Forwards optional <tt>with_usec</tt> argument.
|
242
243
|
#
|
243
244
|
# Time.current # => Sun, 09 Jul 2017 15:34:49 EST -05:00
|
244
245
|
# freeze_time
|
245
246
|
# sleep(1)
|
246
247
|
# Time.current # => Sun, 09 Jul 2017 15:34:49 EST -05:00
|
248
|
+
# freeze_time Time.current + 1.day
|
249
|
+
# sleep(1)
|
250
|
+
# Time.current # => Mon, 10 Jul 2017 15:34:49 EST -05:00
|
247
251
|
#
|
248
252
|
# This method also accepts a block, which will return the current time back to its original
|
249
253
|
# state at the end of the block:
|
@@ -254,8 +258,8 @@ module ActiveSupport
|
|
254
258
|
# User.create.created_at # => Sun, 09 Jul 2017 15:34:49 EST -05:00
|
255
259
|
# end
|
256
260
|
# Time.current # => Sun, 09 Jul 2017 15:34:50 EST -05:00
|
257
|
-
def freeze_time(with_usec: false, &block)
|
258
|
-
travel_to
|
261
|
+
def freeze_time(date_or_time = Time.now, with_usec: false, &block)
|
262
|
+
travel_to date_or_time, with_usec: with_usec, &block
|
259
263
|
end
|
260
264
|
|
261
265
|
private
|
@@ -49,9 +49,15 @@ module ActiveSupport
|
|
49
49
|
attr_reader :time_zone
|
50
50
|
|
51
51
|
def initialize(utc_time, time_zone, local_time = nil, period = nil)
|
52
|
-
@utc = utc_time ? transfer_time_values_to_utc_constructor(utc_time) : nil
|
53
52
|
@time_zone, @time = time_zone, local_time
|
54
|
-
|
53
|
+
if utc_time
|
54
|
+
@utc = transfer_time_values_to_utc_constructor(utc_time)
|
55
|
+
@period = period
|
56
|
+
else
|
57
|
+
@utc = nil
|
58
|
+
@period = get_period_and_ensure_valid_local_time(period)
|
59
|
+
end
|
60
|
+
@is_utc = zone == "UTC" || zone == "UCT"
|
55
61
|
end
|
56
62
|
|
57
63
|
# Returns a <tt>Time</tt> instance that represents the time in +time_zone+.
|
@@ -103,7 +109,7 @@ module ActiveSupport
|
|
103
109
|
# Time.zone = 'Eastern Time (US & Canada)' # => 'Eastern Time (US & Canada)'
|
104
110
|
# Time.zone.now.utc? # => false
|
105
111
|
def utc?
|
106
|
-
|
112
|
+
@is_utc
|
107
113
|
end
|
108
114
|
alias_method :gmt?, :utc?
|
109
115
|
|
@@ -146,7 +152,13 @@ module ActiveSupport
|
|
146
152
|
#
|
147
153
|
# Time.zone.now.xmlschema # => "2014-12-04T11:02:37-05:00"
|
148
154
|
def xmlschema(fraction_digits = 0)
|
149
|
-
|
155
|
+
if @is_utc
|
156
|
+
utc.iso8601(fraction_digits || 0)
|
157
|
+
else
|
158
|
+
str = time.iso8601(fraction_digits || 0)
|
159
|
+
str[-1] = formatted_offset(true, "Z")
|
160
|
+
str
|
161
|
+
end
|
150
162
|
end
|
151
163
|
alias_method :iso8601, :xmlschema
|
152
164
|
alias_method :rfc3339, :xmlschema
|
@@ -299,16 +311,8 @@ module ActiveSupport
|
|
299
311
|
if duration_of_variable_length?(other)
|
300
312
|
method_missing(:+, other)
|
301
313
|
else
|
302
|
-
|
303
|
-
|
304
|
-
rescue TypeError
|
305
|
-
result = utc.to_datetime.since(other)
|
306
|
-
ActiveSupport.deprecator.warn(
|
307
|
-
"Adding an instance of #{other.class} to an instance of #{self.class} is deprecated. This behavior will raise " \
|
308
|
-
"a `TypeError` in Rails 8.1."
|
309
|
-
)
|
310
|
-
result.in_time_zone(time_zone)
|
311
|
-
end
|
314
|
+
result = utc + other
|
315
|
+
|
312
316
|
result.in_time_zone(time_zone)
|
313
317
|
end
|
314
318
|
end
|
@@ -491,13 +495,7 @@ module ActiveSupport
|
|
491
495
|
# with the same UTC offset as +self+ or in the local system timezone
|
492
496
|
# depending on the setting of +ActiveSupport.to_time_preserves_timezone+.
|
493
497
|
def to_time
|
494
|
-
|
495
|
-
@to_time_with_timezone ||= getlocal(time_zone)
|
496
|
-
elsif preserve_timezone
|
497
|
-
@to_time_with_instance_offset ||= getlocal(utc_offset)
|
498
|
-
else
|
499
|
-
@to_time_with_system_offset ||= getlocal
|
500
|
-
end
|
498
|
+
@to_time_with_timezone ||= getlocal(time_zone)
|
501
499
|
end
|
502
500
|
|
503
501
|
# So that +self+ <tt>acts_like?(:time)</tt>.
|
@@ -560,7 +558,9 @@ module ActiveSupport
|
|
560
558
|
SECONDS_PER_DAY = 86400
|
561
559
|
|
562
560
|
def incorporate_utc_offset(time, offset)
|
563
|
-
if
|
561
|
+
if offset.zero?
|
562
|
+
time
|
563
|
+
elsif time.kind_of?(Date)
|
564
564
|
time + Rational(offset, SECONDS_PER_DAY)
|
565
565
|
else
|
566
566
|
time + offset
|
@@ -57,13 +57,14 @@ module ActiveSupport
|
|
57
57
|
"Caracas" => "America/Caracas",
|
58
58
|
"La Paz" => "America/La_Paz",
|
59
59
|
"Santiago" => "America/Santiago",
|
60
|
+
"Asuncion" => "America/Asuncion",
|
60
61
|
"Newfoundland" => "America/St_Johns",
|
61
62
|
"Brasilia" => "America/Sao_Paulo",
|
62
63
|
"Buenos Aires" => "America/Argentina/Buenos_Aires",
|
63
64
|
"Montevideo" => "America/Montevideo",
|
64
65
|
"Georgetown" => "America/Guyana",
|
65
66
|
"Puerto Rico" => "America/Puerto_Rico",
|
66
|
-
"Greenland" => "America/
|
67
|
+
"Greenland" => "America/Nuuk",
|
67
68
|
"Mid-Atlantic" => "Atlantic/South_Georgia",
|
68
69
|
"Azores" => "Atlantic/Azores",
|
69
70
|
"Cape Verde Is." => "Atlantic/Cape_Verde",
|
@@ -313,6 +314,12 @@ module ActiveSupport
|
|
313
314
|
end
|
314
315
|
# :startdoc:
|
315
316
|
|
317
|
+
# Returns a standard time zone name defined by IANA
|
318
|
+
# https://www.iana.org/time-zones
|
319
|
+
def standard_name
|
320
|
+
MAPPING[name] || name
|
321
|
+
end
|
322
|
+
|
316
323
|
# Returns the offset of this time zone from UTC in seconds.
|
317
324
|
def utc_offset
|
318
325
|
@utc_offset || tzinfo&.current_period&.base_utc_offset
|
@@ -62,11 +62,10 @@ module ActiveSupport
|
|
62
62
|
"yaml" => Proc.new { |yaml| yaml.to_yaml }
|
63
63
|
} unless defined?(FORMATTING)
|
64
64
|
|
65
|
-
# TODO use regexp instead of Date.parse
|
66
65
|
unless defined?(PARSING)
|
67
66
|
PARSING = {
|
68
67
|
"symbol" => Proc.new { |symbol| symbol.to_s.to_sym },
|
69
|
-
"date" => Proc.new { |date| ::Date.
|
68
|
+
"date" => Proc.new { |date| ::Date.strptime(date, "%Y-%m-%d") },
|
70
69
|
"datetime" => Proc.new { |time| Time.xmlschema(time).utc rescue ::DateTime.parse(time).utc },
|
71
70
|
"duration" => Proc.new { |duration| Duration.parse(duration) },
|
72
71
|
"integer" => Proc.new { |integer| integer.to_i },
|
@@ -74,6 +73,8 @@ module ActiveSupport
|
|
74
73
|
"decimal" => Proc.new do |number|
|
75
74
|
if String === number
|
76
75
|
number.to_d
|
76
|
+
elsif Float === number
|
77
|
+
BigDecimal(number, 0)
|
77
78
|
else
|
78
79
|
BigDecimal(number)
|
79
80
|
end
|
data/lib/active_support.rb
CHANGED
@@ -40,16 +40,20 @@ module ActiveSupport
|
|
40
40
|
autoload :CodeGenerator
|
41
41
|
autoload :ActionableError
|
42
42
|
autoload :ConfigurationFile
|
43
|
+
autoload :ContinuousIntegration
|
43
44
|
autoload :CurrentAttributes
|
44
45
|
autoload :Dependencies
|
45
46
|
autoload :DescendantsTracker
|
47
|
+
autoload :Editor
|
46
48
|
autoload :ExecutionWrapper
|
47
49
|
autoload :Executor
|
48
50
|
autoload :ErrorReporter
|
51
|
+
autoload :EventReporter
|
49
52
|
autoload :FileUpdateChecker
|
50
53
|
autoload :EventedFileUpdateChecker
|
51
54
|
autoload :ForkTracker
|
52
55
|
autoload :LogSubscriber
|
56
|
+
autoload :StructuredEventSubscriber
|
53
57
|
autoload :IsolatedExecutionState
|
54
58
|
autoload :Notifications
|
55
59
|
autoload :Reloader
|
@@ -91,6 +95,10 @@ module ActiveSupport
|
|
91
95
|
autoload :SafeBuffer, "active_support/core_ext/string/output_safety"
|
92
96
|
autoload :TestCase
|
93
97
|
|
98
|
+
include Deprecation::DeprecatedConstantAccessor
|
99
|
+
|
100
|
+
deprecate_constant :Configurable, "class_attribute :config, default: {}", deprecator: ActiveSupport.deprecator
|
101
|
+
|
94
102
|
def self.eager_load!
|
95
103
|
super
|
96
104
|
|
@@ -99,10 +107,16 @@ module ActiveSupport
|
|
99
107
|
|
100
108
|
cattr_accessor :test_order # :nodoc:
|
101
109
|
cattr_accessor :test_parallelization_threshold, default: 50 # :nodoc:
|
110
|
+
cattr_accessor :parallelize_test_databases, default: true # :nodoc:
|
102
111
|
|
103
112
|
@error_reporter = ActiveSupport::ErrorReporter.new
|
104
113
|
singleton_class.attr_accessor :error_reporter # :nodoc:
|
105
114
|
|
115
|
+
@event_reporter = ActiveSupport::EventReporter.new
|
116
|
+
singleton_class.attr_accessor :event_reporter # :nodoc:
|
117
|
+
|
118
|
+
cattr_accessor :filter_parameters, default: [] # :nodoc:
|
119
|
+
|
106
120
|
def self.cache_format_version
|
107
121
|
Cache.format_version
|
108
122
|
end
|
@@ -112,23 +126,18 @@ module ActiveSupport
|
|
112
126
|
end
|
113
127
|
|
114
128
|
def self.to_time_preserves_timezone
|
115
|
-
|
129
|
+
ActiveSupport.deprecator.warn(
|
130
|
+
"`config.active_support.to_time_preserves_timezone` is deprecated and will be removed in Rails 8.2"
|
131
|
+
)
|
132
|
+
@to_time_preserves_timezone
|
116
133
|
end
|
117
134
|
|
118
135
|
def self.to_time_preserves_timezone=(value)
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
elsif value != :zone
|
125
|
-
ActiveSupport.deprecator.warn(
|
126
|
-
"`to_time` will always preserve the full timezone rather than offset of the receiver in Rails 8.1. " \
|
127
|
-
"To opt in to the new behavior, set `config.active_support.to_time_preserves_timezone = :zone`."
|
128
|
-
)
|
129
|
-
end
|
130
|
-
|
131
|
-
DateAndTime::Compatibility.preserve_timezone = value
|
136
|
+
ActiveSupport.deprecator.warn(
|
137
|
+
"`config.active_support.to_time_preserves_timezone` is deprecated and will be removed in Rails 8.2"
|
138
|
+
)
|
139
|
+
|
140
|
+
@to_time_preserves_timezone = value
|
132
141
|
end
|
133
142
|
|
134
143
|
def self.utc_to_local_returns_utc_offset_times
|
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: 8.0.
|
4
|
+
version: 8.1.0.rc1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- David Heinemeier Hansson
|
@@ -140,61 +140,61 @@ dependencies:
|
|
140
140
|
- !ruby/object:Gem::Version
|
141
141
|
version: '0'
|
142
142
|
- !ruby/object:Gem::Dependency
|
143
|
-
name:
|
143
|
+
name: json
|
144
144
|
requirement: !ruby/object:Gem::Requirement
|
145
145
|
requirements:
|
146
146
|
- - ">="
|
147
147
|
- !ruby/object:Gem::Version
|
148
|
-
version:
|
148
|
+
version: '0'
|
149
149
|
type: :runtime
|
150
150
|
prerelease: false
|
151
151
|
version_requirements: !ruby/object:Gem::Requirement
|
152
152
|
requirements:
|
153
153
|
- - ">="
|
154
154
|
- !ruby/object:Gem::Version
|
155
|
-
version:
|
155
|
+
version: '0'
|
156
156
|
- !ruby/object:Gem::Dependency
|
157
|
-
name:
|
157
|
+
name: logger
|
158
158
|
requirement: !ruby/object:Gem::Requirement
|
159
159
|
requirements:
|
160
160
|
- - ">="
|
161
161
|
- !ruby/object:Gem::Version
|
162
|
-
version:
|
162
|
+
version: 1.4.2
|
163
163
|
type: :runtime
|
164
164
|
prerelease: false
|
165
165
|
version_requirements: !ruby/object:Gem::Requirement
|
166
166
|
requirements:
|
167
167
|
- - ">="
|
168
168
|
- !ruby/object:Gem::Version
|
169
|
-
version:
|
169
|
+
version: 1.4.2
|
170
170
|
- !ruby/object:Gem::Dependency
|
171
|
-
name:
|
171
|
+
name: securerandom
|
172
172
|
requirement: !ruby/object:Gem::Requirement
|
173
173
|
requirements:
|
174
174
|
- - ">="
|
175
175
|
- !ruby/object:Gem::Version
|
176
|
-
version: 0.
|
176
|
+
version: '0.3'
|
177
177
|
type: :runtime
|
178
178
|
prerelease: false
|
179
179
|
version_requirements: !ruby/object:Gem::Requirement
|
180
180
|
requirements:
|
181
181
|
- - ">="
|
182
182
|
- !ruby/object:Gem::Version
|
183
|
-
version: 0.
|
183
|
+
version: '0.3'
|
184
184
|
- !ruby/object:Gem::Dependency
|
185
|
-
name:
|
185
|
+
name: uri
|
186
186
|
requirement: !ruby/object:Gem::Requirement
|
187
187
|
requirements:
|
188
188
|
- - ">="
|
189
189
|
- !ruby/object:Gem::Version
|
190
|
-
version:
|
190
|
+
version: 0.13.1
|
191
191
|
type: :runtime
|
192
192
|
prerelease: false
|
193
193
|
version_requirements: !ruby/object:Gem::Requirement
|
194
194
|
requirements:
|
195
195
|
- - ">="
|
196
196
|
- !ruby/object:Gem::Version
|
197
|
-
version:
|
197
|
+
version: 0.13.1
|
198
198
|
description: A toolkit of support libraries and Ruby core extensions extracted from
|
199
199
|
the Rails framework. Rich support for multibyte strings, internationalization, time
|
200
200
|
zones, and testing.
|
@@ -233,8 +233,10 @@ files:
|
|
233
233
|
- lib/active_support/concurrency/load_interlock_aware_monitor.rb
|
234
234
|
- lib/active_support/concurrency/null_lock.rb
|
235
235
|
- lib/active_support/concurrency/share_lock.rb
|
236
|
+
- lib/active_support/concurrency/thread_monitor.rb
|
236
237
|
- lib/active_support/configurable.rb
|
237
238
|
- lib/active_support/configuration_file.rb
|
239
|
+
- lib/active_support/continuous_integration.rb
|
238
240
|
- lib/active_support/core_ext.rb
|
239
241
|
- lib/active_support/core_ext/array.rb
|
240
242
|
- lib/active_support/core_ext/array/access.rb
|
@@ -327,7 +329,6 @@ files:
|
|
327
329
|
- lib/active_support/core_ext/range.rb
|
328
330
|
- lib/active_support/core_ext/range/compare_range.rb
|
329
331
|
- lib/active_support/core_ext/range/conversions.rb
|
330
|
-
- lib/active_support/core_ext/range/each.rb
|
331
332
|
- lib/active_support/core_ext/range/overlap.rb
|
332
333
|
- lib/active_support/core_ext/range/sole.rb
|
333
334
|
- lib/active_support/core_ext/regexp.rb
|
@@ -377,11 +378,14 @@ files:
|
|
377
378
|
- lib/active_support/duration.rb
|
378
379
|
- lib/active_support/duration/iso8601_parser.rb
|
379
380
|
- lib/active_support/duration/iso8601_serializer.rb
|
381
|
+
- lib/active_support/editor.rb
|
380
382
|
- lib/active_support/encrypted_configuration.rb
|
381
383
|
- lib/active_support/encrypted_file.rb
|
382
384
|
- lib/active_support/environment_inquirer.rb
|
383
385
|
- lib/active_support/error_reporter.rb
|
384
386
|
- lib/active_support/error_reporter/test_helper.rb
|
387
|
+
- lib/active_support/event_reporter.rb
|
388
|
+
- lib/active_support/event_reporter/test_helper.rb
|
385
389
|
- lib/active_support/evented_file_update_checker.rb
|
386
390
|
- lib/active_support/execution_context.rb
|
387
391
|
- lib/active_support/execution_context/test_helper.rb
|
@@ -455,6 +459,7 @@ files:
|
|
455
459
|
- lib/active_support/secure_compare_rotator.rb
|
456
460
|
- lib/active_support/security_utils.rb
|
457
461
|
- lib/active_support/string_inquirer.rb
|
462
|
+
- lib/active_support/structured_event_subscriber.rb
|
458
463
|
- lib/active_support/subscriber.rb
|
459
464
|
- lib/active_support/syntax_error_proxy.rb
|
460
465
|
- lib/active_support/tagged_logging.rb
|
@@ -466,9 +471,11 @@ files:
|
|
466
471
|
- lib/active_support/testing/declarative.rb
|
467
472
|
- lib/active_support/testing/deprecation.rb
|
468
473
|
- lib/active_support/testing/error_reporter_assertions.rb
|
474
|
+
- lib/active_support/testing/event_reporter_assertions.rb
|
469
475
|
- lib/active_support/testing/file_fixtures.rb
|
470
476
|
- lib/active_support/testing/isolation.rb
|
471
477
|
- lib/active_support/testing/method_call_assertions.rb
|
478
|
+
- lib/active_support/testing/notification_assertions.rb
|
472
479
|
- lib/active_support/testing/parallelization.rb
|
473
480
|
- lib/active_support/testing/parallelization/server.rb
|
474
481
|
- lib/active_support/testing/parallelization/worker.rb
|
@@ -494,10 +501,10 @@ licenses:
|
|
494
501
|
- MIT
|
495
502
|
metadata:
|
496
503
|
bug_tracker_uri: https://github.com/rails/rails/issues
|
497
|
-
changelog_uri: https://github.com/rails/rails/blob/v8.0.
|
498
|
-
documentation_uri: https://api.rubyonrails.org/v8.0.
|
504
|
+
changelog_uri: https://github.com/rails/rails/blob/v8.1.0.rc1/activesupport/CHANGELOG.md
|
505
|
+
documentation_uri: https://api.rubyonrails.org/v8.1.0.rc1/
|
499
506
|
mailing_list_uri: https://discuss.rubyonrails.org/c/rubyonrails-talk
|
500
|
-
source_code_uri: https://github.com/rails/rails/tree/v8.0.
|
507
|
+
source_code_uri: https://github.com/rails/rails/tree/v8.1.0.rc1/activesupport
|
501
508
|
rubygems_mfa_required: 'true'
|
502
509
|
rdoc_options:
|
503
510
|
- "--encoding"
|
@@ -1,24 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require "active_support/time_with_zone"
|
4
|
-
|
5
|
-
module ActiveSupport
|
6
|
-
module EachTimeWithZone # :nodoc:
|
7
|
-
def each(&block)
|
8
|
-
ensure_iteration_allowed
|
9
|
-
super
|
10
|
-
end
|
11
|
-
|
12
|
-
def step(n = 1, &block)
|
13
|
-
ensure_iteration_allowed
|
14
|
-
super
|
15
|
-
end
|
16
|
-
|
17
|
-
private
|
18
|
-
def ensure_iteration_allowed
|
19
|
-
raise TypeError, "can't iterate from #{first.class}" if first.is_a?(TimeWithZone)
|
20
|
-
end
|
21
|
-
end
|
22
|
-
end
|
23
|
-
|
24
|
-
Range.prepend(ActiveSupport::EachTimeWithZone)
|