activesupport 7.2.3.1 → 8.0.5
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 +171 -214
- data/lib/active_support/backtrace_cleaner.rb +1 -1
- data/lib/active_support/benchmark.rb +21 -0
- data/lib/active_support/benchmarkable.rb +3 -2
- data/lib/active_support/cache/file_store.rb +12 -2
- data/lib/active_support/cache/mem_cache_store.rb +4 -1
- data/lib/active_support/cache/memory_store.rb +6 -2
- data/lib/active_support/cache/redis_cache_store.rb +6 -3
- data/lib/active_support/cache.rb +16 -11
- data/lib/active_support/callbacks.rb +5 -3
- data/lib/active_support/class_attribute.rb +33 -0
- data/lib/active_support/code_generator.rb +9 -0
- data/lib/active_support/concurrency/share_lock.rb +0 -1
- data/lib/active_support/configuration_file.rb +15 -6
- data/lib/active_support/core_ext/array/conversions.rb +3 -3
- data/lib/active_support/core_ext/benchmark.rb +6 -9
- data/lib/active_support/core_ext/class/attribute.rb +24 -18
- data/lib/active_support/core_ext/date/conversions.rb +2 -0
- data/lib/active_support/core_ext/date_and_time/compatibility.rb +2 -2
- data/lib/active_support/core_ext/enumerable.rb +8 -3
- data/lib/active_support/core_ext/hash/deep_merge.rb +1 -0
- data/lib/active_support/core_ext/hash/except.rb +0 -12
- data/lib/active_support/core_ext/module/attr_internal.rb +3 -4
- data/lib/active_support/core_ext/object/json.rb +16 -10
- data/lib/active_support/core_ext/object/to_query.rb +2 -1
- data/lib/active_support/core_ext/range/overlap.rb +3 -3
- data/lib/active_support/core_ext/string/inflections.rb +1 -1
- data/lib/active_support/core_ext/thread/backtrace/location.rb +2 -7
- data/lib/active_support/core_ext/time/calculations.rb +14 -2
- data/lib/active_support/core_ext/time/conversions.rb +2 -0
- data/lib/active_support/delegation.rb +25 -44
- data/lib/active_support/dependencies.rb +0 -1
- data/lib/active_support/deprecation/reporting.rb +0 -19
- data/lib/active_support/deprecation.rb +1 -1
- data/lib/active_support/duration.rb +14 -10
- data/lib/active_support/encrypted_configuration.rb +20 -2
- data/lib/active_support/error_reporter.rb +31 -1
- data/lib/active_support/evented_file_update_checker.rb +0 -1
- data/lib/active_support/gem_version.rb +4 -4
- data/lib/active_support/hash_with_indifferent_access.rb +15 -16
- data/lib/active_support/i18n_railtie.rb +19 -11
- data/lib/active_support/inflector/inflections.rb +2 -1
- data/lib/active_support/inflector/methods.rb +3 -3
- data/lib/active_support/isolated_execution_state.rb +4 -4
- data/lib/active_support/json/decoding.rb +3 -1
- data/lib/active_support/json/encoding.rb +2 -2
- data/lib/active_support/logger_thread_safe_level.rb +6 -3
- data/lib/active_support/message_pack/extensions.rb +1 -1
- data/lib/active_support/notifications/fanout.rb +0 -1
- data/lib/active_support/notifications/instrumenter.rb +1 -1
- data/lib/active_support/number_helper.rb +22 -0
- data/lib/active_support/railtie.rb +6 -0
- data/lib/active_support/tagged_logging.rb +5 -0
- data/lib/active_support/test_case.rb +6 -0
- data/lib/active_support/testing/assertions.rb +84 -21
- data/lib/active_support/testing/autorun.rb +5 -0
- data/lib/active_support/testing/isolation.rb +0 -2
- data/lib/active_support/testing/parallelization/worker.rb +5 -1
- data/lib/active_support/testing/time_helpers.rb +2 -1
- data/lib/active_support/time_with_zone.rb +22 -13
- data/lib/active_support/values/time_zone.rb +11 -9
- data/lib/active_support.rb +10 -3
- metadata +21 -12
- data/lib/active_support/proxy_object.rb +0 -20
|
@@ -19,7 +19,7 @@ module ActiveSupport
|
|
|
19
19
|
#
|
|
20
20
|
# assert_not foo, 'foo should be false'
|
|
21
21
|
def assert_not(object, message = nil)
|
|
22
|
-
message ||= "Expected #{mu_pp(object)} to be nil or false"
|
|
22
|
+
message ||= -> { "Expected #{mu_pp(object)} to be nil or false" }
|
|
23
23
|
assert !object, message
|
|
24
24
|
end
|
|
25
25
|
|
|
@@ -118,9 +118,14 @@ module ActiveSupport
|
|
|
118
118
|
|
|
119
119
|
expressions.zip(exps, before) do |(code, diff), exp, before_value|
|
|
120
120
|
actual = exp.call
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
121
|
+
rich_message = -> do
|
|
122
|
+
code_string = code.respond_to?(:call) ? _callable_to_source_string(code) : code
|
|
123
|
+
error = "`#{code_string}` didn't change by #{diff}, but by #{actual - before_value}."
|
|
124
|
+
error = "#{error}\n#{diff before_value + diff, actual}" if Minitest::VERSION > "6"
|
|
125
|
+
error = "#{message}.\n#{error}" if message
|
|
126
|
+
error
|
|
127
|
+
end
|
|
128
|
+
assert_equal(before_value + diff, actual, rich_message)
|
|
124
129
|
end
|
|
125
130
|
|
|
126
131
|
retval
|
|
@@ -195,22 +200,32 @@ module ActiveSupport
|
|
|
195
200
|
retval = _assert_nothing_raised_or_warn("assert_changes", &block)
|
|
196
201
|
|
|
197
202
|
unless from == UNTRACKED
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
203
|
+
rich_message = -> do
|
|
204
|
+
error = "Expected change from #{from.inspect}, got #{before.inspect}"
|
|
205
|
+
error = "#{message}.\n#{error}" if message
|
|
206
|
+
error
|
|
207
|
+
end
|
|
208
|
+
assert from === before, rich_message
|
|
201
209
|
end
|
|
202
210
|
|
|
203
211
|
after = exp.call
|
|
204
212
|
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
213
|
+
rich_message = -> do
|
|
214
|
+
code_string = expression.respond_to?(:call) ? _callable_to_source_string(expression) : expression
|
|
215
|
+
error = "`#{code_string}` didn't change"
|
|
216
|
+
error = "#{error}. It was already #{to.inspect}." if before == to
|
|
217
|
+
error = "#{message}.\n#{error}" if message
|
|
218
|
+
error
|
|
219
|
+
end
|
|
220
|
+
refute_equal before, after, rich_message
|
|
209
221
|
|
|
210
222
|
unless to == UNTRACKED
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
223
|
+
rich_message = -> do
|
|
224
|
+
error = "Expected change to #{to.inspect}, got #{after.inspect}\n"
|
|
225
|
+
error = "#{message}.\n#{error}" if message
|
|
226
|
+
error
|
|
227
|
+
end
|
|
228
|
+
assert to === after, rich_message
|
|
214
229
|
end
|
|
215
230
|
|
|
216
231
|
retval
|
|
@@ -242,20 +257,28 @@ module ActiveSupport
|
|
|
242
257
|
retval = _assert_nothing_raised_or_warn("assert_no_changes", &block)
|
|
243
258
|
|
|
244
259
|
unless from == UNTRACKED
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
260
|
+
rich_message = -> do
|
|
261
|
+
error = "Expected initial value of #{from.inspect}, got #{before.inspect}"
|
|
262
|
+
error = "#{message}.\n#{error}" if message
|
|
263
|
+
error
|
|
264
|
+
end
|
|
265
|
+
assert from === before, rich_message
|
|
248
266
|
end
|
|
249
267
|
|
|
250
268
|
after = exp.call
|
|
251
269
|
|
|
252
|
-
|
|
253
|
-
|
|
270
|
+
rich_message = -> do
|
|
271
|
+
code_string = expression.respond_to?(:call) ? _callable_to_source_string(expression) : expression
|
|
272
|
+
error = "`#{code_string}` changed."
|
|
273
|
+
error = "#{message}.\n#{error}" if message
|
|
274
|
+
error = "#{error}\n#{diff before, after}" if Minitest::VERSION > "6"
|
|
275
|
+
error
|
|
276
|
+
end
|
|
254
277
|
|
|
255
278
|
if before.nil?
|
|
256
|
-
assert_nil after,
|
|
279
|
+
assert_nil after, rich_message
|
|
257
280
|
else
|
|
258
|
-
assert_equal before, after,
|
|
281
|
+
assert_equal before, after, rich_message
|
|
259
282
|
end
|
|
260
283
|
|
|
261
284
|
retval
|
|
@@ -276,6 +299,46 @@ module ActiveSupport
|
|
|
276
299
|
|
|
277
300
|
raise
|
|
278
301
|
end
|
|
302
|
+
|
|
303
|
+
def _callable_to_source_string(callable)
|
|
304
|
+
if defined?(RubyVM::InstructionSequence) && callable.is_a?(Proc)
|
|
305
|
+
iseq = RubyVM::InstructionSequence.of(callable)
|
|
306
|
+
source =
|
|
307
|
+
if iseq.script_lines
|
|
308
|
+
iseq.script_lines.join("\n")
|
|
309
|
+
elsif File.readable?(iseq.absolute_path)
|
|
310
|
+
File.read(iseq.absolute_path)
|
|
311
|
+
end
|
|
312
|
+
|
|
313
|
+
return callable unless source
|
|
314
|
+
|
|
315
|
+
location = iseq.to_a[4][:code_location]
|
|
316
|
+
return callable unless location
|
|
317
|
+
|
|
318
|
+
lines = source.lines[(location[0] - 1)..(location[2] - 1)]
|
|
319
|
+
lines[-1] = lines[-1].byteslice(...location[3])
|
|
320
|
+
lines[0] = lines[0].byteslice(location[1]...)
|
|
321
|
+
source = lines.join.strip
|
|
322
|
+
|
|
323
|
+
# Strip stabby lambda from Ruby 4.1+
|
|
324
|
+
source = source.sub(/^->\s*/, "")
|
|
325
|
+
|
|
326
|
+
# We ignore procs defined with do/end as they are likely multi-line anyway.
|
|
327
|
+
if source.start_with?("{")
|
|
328
|
+
source.delete_suffix!("}")
|
|
329
|
+
source.delete_prefix!("{")
|
|
330
|
+
source.strip!
|
|
331
|
+
# It won't read nice if the callable contains multiple
|
|
332
|
+
# lines, and it should be a rare occurrence anyway.
|
|
333
|
+
# Same if it takes arguments.
|
|
334
|
+
if !source.include?("\n") && !source.start_with?("|")
|
|
335
|
+
return source
|
|
336
|
+
end
|
|
337
|
+
end
|
|
338
|
+
end
|
|
339
|
+
|
|
340
|
+
callable
|
|
341
|
+
end
|
|
279
342
|
end
|
|
280
343
|
end
|
|
281
344
|
end
|
|
@@ -2,4 +2,9 @@
|
|
|
2
2
|
|
|
3
3
|
require "minitest"
|
|
4
4
|
|
|
5
|
+
# This respond_to check handles tests running sub-processes in an
|
|
6
|
+
# unbundled environment, which triggers MT5 usage. This conditional may
|
|
7
|
+
# be removable after the version bump, though it currently safeguards
|
|
8
|
+
# against issues in environments with multiple versions installed.
|
|
9
|
+
Minitest.load :rails if Minitest.respond_to? :load
|
|
5
10
|
Minitest.autorun
|
|
@@ -47,7 +47,11 @@ module ActiveSupport
|
|
|
47
47
|
set_process_title("#{klass}##{method}")
|
|
48
48
|
|
|
49
49
|
result = klass.with_info_handler reporter do
|
|
50
|
-
Minitest.run_one_method
|
|
50
|
+
if Minitest.respond_to? :run_one_method
|
|
51
|
+
Minitest.run_one_method klass, method
|
|
52
|
+
else
|
|
53
|
+
klass.new(method).run
|
|
54
|
+
end
|
|
51
55
|
end
|
|
52
56
|
|
|
53
57
|
safe_record(reporter, result)
|
|
@@ -166,9 +166,10 @@ module ActiveSupport
|
|
|
166
166
|
else
|
|
167
167
|
now = date_or_time
|
|
168
168
|
now = now.to_time unless now.is_a?(Time)
|
|
169
|
-
now = now.change(usec: 0) unless with_usec
|
|
170
169
|
end
|
|
171
170
|
|
|
171
|
+
now = now.change(usec: 0) unless with_usec
|
|
172
|
+
|
|
172
173
|
# +now+ must be in local system timezone, because +Time.at(now)+
|
|
173
174
|
# and +now.to_date+ (see stubs below) will use +now+'s timezone too!
|
|
174
175
|
now = now.getlocal
|
|
@@ -136,9 +136,9 @@ module ActiveSupport
|
|
|
136
136
|
|
|
137
137
|
# Returns a string of the object's date, time, zone, and offset from UTC.
|
|
138
138
|
#
|
|
139
|
-
# Time.zone.now.inspect # => "
|
|
139
|
+
# Time.zone.now.inspect # => "2024-11-13 07:00:10.528054960 UTC +00:00"
|
|
140
140
|
def inspect
|
|
141
|
-
"#{time.strftime('%
|
|
141
|
+
"#{time.strftime('%F %H:%M:%S.%9N')} #{zone} #{formatted_offset}"
|
|
142
142
|
end
|
|
143
143
|
|
|
144
144
|
# Returns a string of the object's date and time in the ISO 8601 standard
|
|
@@ -157,11 +157,11 @@ module ActiveSupport
|
|
|
157
157
|
# to +false+.
|
|
158
158
|
#
|
|
159
159
|
# # With ActiveSupport::JSON::Encoding.use_standard_json_time_format = true
|
|
160
|
-
# Time.utc(2005,2,1,15,15,10).in_time_zone("Hawaii").
|
|
160
|
+
# Time.utc(2005,2,1,15,15,10).in_time_zone("Hawaii").as_json
|
|
161
161
|
# # => "2005-02-01T05:15:10.000-10:00"
|
|
162
162
|
#
|
|
163
163
|
# # With ActiveSupport::JSON::Encoding.use_standard_json_time_format = false
|
|
164
|
-
# Time.utc(2005,2,1,15,15,10).in_time_zone("Hawaii").
|
|
164
|
+
# Time.utc(2005,2,1,15,15,10).in_time_zone("Hawaii").as_json
|
|
165
165
|
# # => "2005/02/01 05:15:10 -1000"
|
|
166
166
|
def as_json(options = nil)
|
|
167
167
|
if ActiveSupport::JSON::Encoding.use_standard_json_time_format
|
|
@@ -215,8 +215,7 @@ module ActiveSupport
|
|
|
215
215
|
elsif formatter = ::Time::DATE_FORMATS[format]
|
|
216
216
|
formatter.respond_to?(:call) ? formatter.call(self).to_s : strftime(formatter)
|
|
217
217
|
else
|
|
218
|
-
|
|
219
|
-
"#{time.strftime("%Y-%m-%d %H:%M:%S")} #{formatted_offset(false, 'UTC')}"
|
|
218
|
+
to_s
|
|
220
219
|
end
|
|
221
220
|
end
|
|
222
221
|
alias_method :to_formatted_s, :to_fs
|
|
@@ -300,7 +299,16 @@ module ActiveSupport
|
|
|
300
299
|
if duration_of_variable_length?(other)
|
|
301
300
|
method_missing(:+, other)
|
|
302
301
|
else
|
|
303
|
-
|
|
302
|
+
begin
|
|
303
|
+
result = utc + other
|
|
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
|
|
304
312
|
result.in_time_zone(time_zone)
|
|
305
313
|
end
|
|
306
314
|
end
|
|
@@ -336,7 +344,7 @@ module ActiveSupport
|
|
|
336
344
|
elsif duration_of_variable_length?(other)
|
|
337
345
|
method_missing(:-, other)
|
|
338
346
|
else
|
|
339
|
-
result = utc
|
|
347
|
+
result = utc - other
|
|
340
348
|
result.in_time_zone(time_zone)
|
|
341
349
|
end
|
|
342
350
|
end
|
|
@@ -479,11 +487,13 @@ module ActiveSupport
|
|
|
479
487
|
@to_datetime ||= utc.to_datetime.new_offset(Rational(utc_offset, 86_400))
|
|
480
488
|
end
|
|
481
489
|
|
|
482
|
-
# Returns an instance of +Time+, either with the same
|
|
483
|
-
# as +self+ or in the local system timezone
|
|
484
|
-
# of +ActiveSupport.to_time_preserves_timezone+.
|
|
490
|
+
# Returns an instance of +Time+, either with the same timezone as +self+,
|
|
491
|
+
# with the same UTC offset as +self+ or in the local system timezone
|
|
492
|
+
# depending on the setting of +ActiveSupport.to_time_preserves_timezone+.
|
|
485
493
|
def to_time
|
|
486
|
-
if preserve_timezone
|
|
494
|
+
if preserve_timezone == :zone
|
|
495
|
+
@to_time_with_timezone ||= getlocal(time_zone)
|
|
496
|
+
elsif preserve_timezone
|
|
487
497
|
@to_time_with_instance_offset ||= getlocal(utc_offset)
|
|
488
498
|
else
|
|
489
499
|
@to_time_with_system_offset ||= getlocal
|
|
@@ -535,7 +545,6 @@ module ActiveSupport
|
|
|
535
545
|
# Ensure proxy class responds to all methods that underlying time instance
|
|
536
546
|
# responds to.
|
|
537
547
|
def respond_to_missing?(sym, include_priv)
|
|
538
|
-
return false if sym.to_sym == :acts_like_date?
|
|
539
548
|
time.respond_to?(sym, include_priv)
|
|
540
549
|
end
|
|
541
550
|
|
|
@@ -208,9 +208,7 @@ module ActiveSupport
|
|
|
208
208
|
TZInfo::Timezone.get(MAPPING[name] || name)
|
|
209
209
|
end
|
|
210
210
|
|
|
211
|
-
# :
|
|
212
|
-
alias_method :create, :new
|
|
213
|
-
# :startdoc:
|
|
211
|
+
alias_method :create, :new # :nodoc:
|
|
214
212
|
|
|
215
213
|
# Returns a TimeZone instance with the given name, or +nil+ if no
|
|
216
214
|
# such TimeZone instance exists. (This exists to support the use of
|
|
@@ -554,15 +552,11 @@ module ActiveSupport
|
|
|
554
552
|
tzinfo.local_to_utc(time, dst)
|
|
555
553
|
end
|
|
556
554
|
|
|
557
|
-
|
|
558
|
-
# instances.
|
|
559
|
-
def period_for_utc(time)
|
|
555
|
+
def period_for_utc(time) # :nodoc:
|
|
560
556
|
tzinfo.period_for_utc(time)
|
|
561
557
|
end
|
|
562
558
|
|
|
563
|
-
|
|
564
|
-
# instances.
|
|
565
|
-
def period_for_local(time, dst = true)
|
|
559
|
+
def period_for_local(time, dst = true) # :nodoc:
|
|
566
560
|
tzinfo.period_for_local(time, dst) { |periods| periods.last }
|
|
567
561
|
end
|
|
568
562
|
|
|
@@ -570,6 +564,14 @@ module ActiveSupport
|
|
|
570
564
|
tzinfo.periods_for_local(time)
|
|
571
565
|
end
|
|
572
566
|
|
|
567
|
+
def abbr(time) # :nodoc:
|
|
568
|
+
tzinfo.abbr(time)
|
|
569
|
+
end
|
|
570
|
+
|
|
571
|
+
def dst?(time) # :nodoc:
|
|
572
|
+
tzinfo.dst?(time)
|
|
573
|
+
end
|
|
574
|
+
|
|
573
575
|
def init_with(coder) # :nodoc:
|
|
574
576
|
initialize(coder["name"])
|
|
575
577
|
end
|
data/lib/active_support.rb
CHANGED
|
@@ -57,11 +57,12 @@ module ActiveSupport
|
|
|
57
57
|
|
|
58
58
|
eager_autoload do
|
|
59
59
|
autoload :BacktraceCleaner
|
|
60
|
-
autoload :
|
|
60
|
+
autoload :Benchmark
|
|
61
61
|
autoload :Benchmarkable
|
|
62
62
|
autoload :Cache
|
|
63
63
|
autoload :Callbacks
|
|
64
64
|
autoload :Configurable
|
|
65
|
+
autoload :ClassAttribute
|
|
65
66
|
autoload :Deprecation
|
|
66
67
|
autoload :Delegation
|
|
67
68
|
autoload :Digest
|
|
@@ -115,9 +116,15 @@ module ActiveSupport
|
|
|
115
116
|
end
|
|
116
117
|
|
|
117
118
|
def self.to_time_preserves_timezone=(value)
|
|
118
|
-
|
|
119
|
+
if !value
|
|
119
120
|
ActiveSupport.deprecator.warn(
|
|
120
|
-
"
|
|
121
|
+
"`to_time` will always preserve the receiver timezone rather than system local time in Rails 8.1. " \
|
|
122
|
+
"To opt in to the new behavior, set `config.active_support.to_time_preserves_timezone = :zone`."
|
|
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`."
|
|
121
128
|
)
|
|
122
129
|
end
|
|
123
130
|
|
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:
|
|
4
|
+
version: 8.0.5
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- David Heinemeier Hansson
|
|
@@ -90,9 +90,6 @@ dependencies:
|
|
|
90
90
|
- - ">="
|
|
91
91
|
- !ruby/object:Gem::Version
|
|
92
92
|
version: '5.1'
|
|
93
|
-
- - "<"
|
|
94
|
-
- !ruby/object:Gem::Version
|
|
95
|
-
version: '6'
|
|
96
93
|
type: :runtime
|
|
97
94
|
prerelease: false
|
|
98
95
|
version_requirements: !ruby/object:Gem::Requirement
|
|
@@ -100,9 +97,6 @@ dependencies:
|
|
|
100
97
|
- - ">="
|
|
101
98
|
- !ruby/object:Gem::Version
|
|
102
99
|
version: '5.1'
|
|
103
|
-
- - "<"
|
|
104
|
-
- !ruby/object:Gem::Version
|
|
105
|
-
version: '6'
|
|
106
100
|
- !ruby/object:Gem::Dependency
|
|
107
101
|
name: base64
|
|
108
102
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -173,6 +167,20 @@ dependencies:
|
|
|
173
167
|
- - ">="
|
|
174
168
|
- !ruby/object:Gem::Version
|
|
175
169
|
version: '0.3'
|
|
170
|
+
- !ruby/object:Gem::Dependency
|
|
171
|
+
name: uri
|
|
172
|
+
requirement: !ruby/object:Gem::Requirement
|
|
173
|
+
requirements:
|
|
174
|
+
- - ">="
|
|
175
|
+
- !ruby/object:Gem::Version
|
|
176
|
+
version: 0.13.1
|
|
177
|
+
type: :runtime
|
|
178
|
+
prerelease: false
|
|
179
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
180
|
+
requirements:
|
|
181
|
+
- - ">="
|
|
182
|
+
- !ruby/object:Gem::Version
|
|
183
|
+
version: 0.13.1
|
|
176
184
|
- !ruby/object:Gem::Dependency
|
|
177
185
|
name: benchmark
|
|
178
186
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -203,6 +211,7 @@ files:
|
|
|
203
211
|
- lib/active_support/all.rb
|
|
204
212
|
- lib/active_support/array_inquirer.rb
|
|
205
213
|
- lib/active_support/backtrace_cleaner.rb
|
|
214
|
+
- lib/active_support/benchmark.rb
|
|
206
215
|
- lib/active_support/benchmarkable.rb
|
|
207
216
|
- lib/active_support/broadcast_logger.rb
|
|
208
217
|
- lib/active_support/builder.rb
|
|
@@ -218,6 +227,7 @@ files:
|
|
|
218
227
|
- lib/active_support/cache/strategy/local_cache.rb
|
|
219
228
|
- lib/active_support/cache/strategy/local_cache_middleware.rb
|
|
220
229
|
- lib/active_support/callbacks.rb
|
|
230
|
+
- lib/active_support/class_attribute.rb
|
|
221
231
|
- lib/active_support/code_generator.rb
|
|
222
232
|
- lib/active_support/concern.rb
|
|
223
233
|
- lib/active_support/concurrency/load_interlock_aware_monitor.rb
|
|
@@ -438,7 +448,6 @@ files:
|
|
|
438
448
|
- lib/active_support/ordered_hash.rb
|
|
439
449
|
- lib/active_support/ordered_options.rb
|
|
440
450
|
- lib/active_support/parameter_filter.rb
|
|
441
|
-
- lib/active_support/proxy_object.rb
|
|
442
451
|
- lib/active_support/rails.rb
|
|
443
452
|
- lib/active_support/railtie.rb
|
|
444
453
|
- lib/active_support/reloader.rb
|
|
@@ -485,10 +494,10 @@ licenses:
|
|
|
485
494
|
- MIT
|
|
486
495
|
metadata:
|
|
487
496
|
bug_tracker_uri: https://github.com/rails/rails/issues
|
|
488
|
-
changelog_uri: https://github.com/rails/rails/blob/
|
|
489
|
-
documentation_uri: https://api.rubyonrails.org/
|
|
497
|
+
changelog_uri: https://github.com/rails/rails/blob/v8.0.5/activesupport/CHANGELOG.md
|
|
498
|
+
documentation_uri: https://api.rubyonrails.org/v8.0.5/
|
|
490
499
|
mailing_list_uri: https://discuss.rubyonrails.org/c/rubyonrails-talk
|
|
491
|
-
source_code_uri: https://github.com/rails/rails/tree/
|
|
500
|
+
source_code_uri: https://github.com/rails/rails/tree/v8.0.5/activesupport
|
|
492
501
|
rubygems_mfa_required: 'true'
|
|
493
502
|
rdoc_options:
|
|
494
503
|
- "--encoding"
|
|
@@ -499,7 +508,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
499
508
|
requirements:
|
|
500
509
|
- - ">="
|
|
501
510
|
- !ruby/object:Gem::Version
|
|
502
|
-
version: 3.
|
|
511
|
+
version: 3.2.0
|
|
503
512
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
504
513
|
requirements:
|
|
505
514
|
- - ">="
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
module ActiveSupport
|
|
4
|
-
class ProxyObject < ::BasicObject # :nodoc:
|
|
5
|
-
undef_method :==
|
|
6
|
-
undef_method :equal?
|
|
7
|
-
|
|
8
|
-
# Let ActiveSupport::ProxyObject at least raise exceptions.
|
|
9
|
-
def raise(*args)
|
|
10
|
-
::Object.send(:raise, *args)
|
|
11
|
-
end
|
|
12
|
-
|
|
13
|
-
def self.inherited(_subclass)
|
|
14
|
-
::ActiveSupport.deprecator.warn(<<~MSG)
|
|
15
|
-
ActiveSupport::ProxyObject is deprecated and will be removed in Rails 8.0.
|
|
16
|
-
Use Ruby's built-in BasicObject instead.
|
|
17
|
-
MSG
|
|
18
|
-
end
|
|
19
|
-
end
|
|
20
|
-
end
|