activesupport 7.0.8.1 → 7.1.0.beta1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +734 -296
- data/MIT-LICENSE +1 -1
- data/README.rdoc +4 -4
- data/lib/active_support/actionable_error.rb +3 -1
- data/lib/active_support/array_inquirer.rb +2 -0
- data/lib/active_support/backtrace_cleaner.rb +25 -5
- data/lib/active_support/benchmarkable.rb +1 -0
- data/lib/active_support/builder.rb +1 -1
- data/lib/active_support/cache/coder.rb +153 -0
- data/lib/active_support/cache/entry.rb +128 -0
- data/lib/active_support/cache/file_store.rb +36 -9
- data/lib/active_support/cache/mem_cache_store.rb +84 -68
- data/lib/active_support/cache/memory_store.rb +76 -24
- data/lib/active_support/cache/null_store.rb +6 -0
- data/lib/active_support/cache/redis_cache_store.rb +126 -131
- data/lib/active_support/cache/serializer_with_fallback.rb +175 -0
- data/lib/active_support/cache/strategy/local_cache.rb +20 -8
- data/lib/active_support/cache.rb +304 -246
- data/lib/active_support/callbacks.rb +38 -18
- data/lib/active_support/concern.rb +4 -2
- data/lib/active_support/concurrency/load_interlock_aware_monitor.rb +42 -3
- data/lib/active_support/concurrency/null_lock.rb +13 -0
- data/lib/active_support/configurable.rb +10 -0
- data/lib/active_support/core_ext/array/conversions.rb +2 -1
- data/lib/active_support/core_ext/array.rb +0 -1
- data/lib/active_support/core_ext/class/subclasses.rb +13 -10
- data/lib/active_support/core_ext/date/conversions.rb +1 -0
- data/lib/active_support/core_ext/date.rb +0 -1
- data/lib/active_support/core_ext/date_and_time/calculations.rb +10 -0
- data/lib/active_support/core_ext/date_time/conversions.rb +6 -2
- data/lib/active_support/core_ext/date_time.rb +0 -1
- data/lib/active_support/core_ext/digest/uuid.rb +1 -10
- data/lib/active_support/core_ext/enumerable.rb +3 -75
- data/lib/active_support/core_ext/erb/util.rb +196 -0
- data/lib/active_support/core_ext/hash/conversions.rb +1 -1
- data/lib/active_support/core_ext/module/attribute_accessors.rb +6 -0
- data/lib/active_support/core_ext/module/attribute_accessors_per_thread.rb +34 -16
- data/lib/active_support/core_ext/module/delegation.rb +40 -11
- data/lib/active_support/core_ext/module/deprecation.rb +15 -12
- data/lib/active_support/core_ext/module/introspection.rb +0 -1
- data/lib/active_support/core_ext/numeric/bytes.rb +9 -0
- data/lib/active_support/core_ext/numeric/conversions.rb +2 -0
- data/lib/active_support/core_ext/numeric.rb +0 -1
- data/lib/active_support/core_ext/object/deep_dup.rb +16 -0
- data/lib/active_support/core_ext/object/inclusion.rb +13 -5
- data/lib/active_support/core_ext/object/instance_variables.rb +22 -12
- data/lib/active_support/core_ext/object/json.rb +10 -2
- data/lib/active_support/core_ext/object/with.rb +44 -0
- data/lib/active_support/core_ext/object/with_options.rb +3 -3
- data/lib/active_support/core_ext/object.rb +1 -0
- data/lib/active_support/core_ext/pathname/blank.rb +16 -0
- data/lib/active_support/core_ext/pathname/existence.rb +2 -0
- data/lib/active_support/core_ext/pathname.rb +1 -0
- data/lib/active_support/core_ext/range/conversions.rb +28 -7
- data/lib/active_support/core_ext/range/{overlaps.rb → overlap.rb} +5 -3
- data/lib/active_support/core_ext/range.rb +1 -2
- data/lib/active_support/core_ext/securerandom.rb +24 -12
- data/lib/active_support/core_ext/string/filters.rb +20 -14
- data/lib/active_support/core_ext/string/inflections.rb +16 -5
- data/lib/active_support/core_ext/string/output_safety.rb +38 -174
- data/lib/active_support/core_ext/thread/backtrace/location.rb +12 -0
- data/lib/active_support/core_ext/time/calculations.rb +18 -2
- data/lib/active_support/core_ext/time/conversions.rb +2 -2
- data/lib/active_support/core_ext/time/zones.rb +4 -4
- data/lib/active_support/core_ext/time.rb +0 -1
- data/lib/active_support/current_attributes.rb +15 -6
- data/lib/active_support/dependencies/autoload.rb +17 -12
- data/lib/active_support/deprecation/behaviors.rb +53 -32
- data/lib/active_support/deprecation/constant_accessor.rb +5 -4
- data/lib/active_support/deprecation/deprecators.rb +104 -0
- data/lib/active_support/deprecation/disallowed.rb +3 -5
- data/lib/active_support/deprecation/instance_delegator.rb +31 -4
- data/lib/active_support/deprecation/method_wrappers.rb +6 -23
- data/lib/active_support/deprecation/proxy_wrappers.rb +37 -22
- data/lib/active_support/deprecation/reporting.rb +35 -21
- data/lib/active_support/deprecation.rb +32 -5
- data/lib/active_support/deprecator.rb +7 -0
- data/lib/active_support/descendants_tracker.rb +104 -132
- data/lib/active_support/duration/iso8601_serializer.rb +0 -2
- data/lib/active_support/duration.rb +2 -1
- data/lib/active_support/encrypted_configuration.rb +30 -9
- data/lib/active_support/encrypted_file.rb +8 -3
- data/lib/active_support/environment_inquirer.rb +22 -2
- data/lib/active_support/error_reporter/test_helper.rb +15 -0
- data/lib/active_support/error_reporter.rb +121 -35
- data/lib/active_support/execution_wrapper.rb +4 -4
- data/lib/active_support/file_update_checker.rb +4 -2
- data/lib/active_support/fork_tracker.rb +10 -2
- data/lib/active_support/gem_version.rb +4 -4
- data/lib/active_support/gzip.rb +2 -0
- data/lib/active_support/hash_with_indifferent_access.rb +35 -17
- data/lib/active_support/i18n.rb +1 -1
- data/lib/active_support/i18n_railtie.rb +20 -13
- data/lib/active_support/inflector/inflections.rb +2 -0
- data/lib/active_support/inflector/methods.rb +22 -10
- data/lib/active_support/inflector/transliterate.rb +3 -1
- data/lib/active_support/isolated_execution_state.rb +26 -22
- data/lib/active_support/json/decoding.rb +2 -1
- data/lib/active_support/json/encoding.rb +25 -43
- data/lib/active_support/key_generator.rb +9 -1
- data/lib/active_support/lazy_load_hooks.rb +6 -4
- data/lib/active_support/locale/en.yml +2 -0
- data/lib/active_support/log_subscriber.rb +78 -33
- data/lib/active_support/logger.rb +1 -1
- data/lib/active_support/logger_thread_safe_level.rb +9 -21
- data/lib/active_support/message_encryptor.rb +197 -53
- data/lib/active_support/message_encryptors.rb +140 -0
- data/lib/active_support/message_pack/cache_serializer.rb +23 -0
- data/lib/active_support/message_pack/extensions.rb +292 -0
- data/lib/active_support/message_pack/serializer.rb +63 -0
- data/lib/active_support/message_pack.rb +50 -0
- data/lib/active_support/message_verifier.rb +212 -93
- data/lib/active_support/message_verifiers.rb +134 -0
- data/lib/active_support/messages/codec.rb +65 -0
- data/lib/active_support/messages/metadata.rb +111 -45
- data/lib/active_support/messages/rotation_coordinator.rb +93 -0
- data/lib/active_support/messages/rotator.rb +34 -32
- data/lib/active_support/messages/serializer_with_fallback.rb +158 -0
- data/lib/active_support/multibyte/chars.rb +2 -0
- data/lib/active_support/multibyte/unicode.rb +9 -37
- data/lib/active_support/notifications/fanout.rb +239 -81
- data/lib/active_support/notifications/instrumenter.rb +71 -14
- data/lib/active_support/notifications.rb +1 -1
- data/lib/active_support/number_helper/number_converter.rb +2 -2
- data/lib/active_support/number_helper/number_to_human_size_converter.rb +1 -1
- data/lib/active_support/number_helper/number_to_phone_converter.rb +1 -0
- data/lib/active_support/ordered_hash.rb +3 -3
- data/lib/active_support/ordered_options.rb +14 -0
- data/lib/active_support/parameter_filter.rb +84 -69
- data/lib/active_support/proxy_object.rb +2 -0
- data/lib/active_support/railtie.rb +33 -21
- data/lib/active_support/reloader.rb +12 -4
- data/lib/active_support/rescuable.rb +2 -0
- data/lib/active_support/secure_compare_rotator.rb +16 -9
- data/lib/active_support/string_inquirer.rb +3 -1
- data/lib/active_support/subscriber.rb +9 -27
- data/lib/active_support/syntax_error_proxy.rb +49 -0
- data/lib/active_support/tagged_logging.rb +60 -24
- data/lib/active_support/test_case.rb +153 -6
- data/lib/active_support/testing/assertions.rb +25 -9
- data/lib/active_support/testing/autorun.rb +0 -2
- data/lib/active_support/testing/constant_stubbing.rb +32 -0
- data/lib/active_support/testing/deprecation.rb +25 -25
- data/lib/active_support/testing/error_reporter_assertions.rb +108 -0
- data/lib/active_support/testing/isolation.rb +1 -1
- data/lib/active_support/testing/method_call_assertions.rb +21 -8
- data/lib/active_support/testing/parallelize_executor.rb +8 -3
- data/lib/active_support/testing/stream.rb +1 -1
- data/lib/active_support/testing/strict_warnings.rb +38 -0
- data/lib/active_support/testing/time_helpers.rb +32 -14
- data/lib/active_support/time_with_zone.rb +4 -14
- data/lib/active_support/values/time_zone.rb +9 -7
- data/lib/active_support/version.rb +1 -1
- data/lib/active_support/xml_mini/jdom.rb +3 -10
- data/lib/active_support/xml_mini/nokogiri.rb +1 -1
- data/lib/active_support/xml_mini/nokogirisax.rb +1 -1
- data/lib/active_support/xml_mini/rexml.rb +1 -1
- data/lib/active_support/xml_mini.rb +2 -2
- data/lib/active_support.rb +13 -3
- metadata +103 -18
- data/lib/active_support/core_ext/array/deprecated_conversions.rb +0 -25
- data/lib/active_support/core_ext/date/deprecated_conversions.rb +0 -40
- data/lib/active_support/core_ext/date_time/deprecated_conversions.rb +0 -36
- data/lib/active_support/core_ext/numeric/deprecated_conversions.rb +0 -60
- data/lib/active_support/core_ext/range/deprecated_conversions.rb +0 -36
- data/lib/active_support/core_ext/range/include_time_with_zone.rb +0 -5
- data/lib/active_support/core_ext/time/deprecated_conversions.rb +0 -73
- data/lib/active_support/core_ext/uri.rb +0 -5
- data/lib/active_support/per_thread_registry.rb +0 -65
@@ -1,25 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
class Array
|
4
|
-
NOT_SET = Object.new # :nodoc:
|
5
|
-
def to_s(format = NOT_SET) # :nodoc:
|
6
|
-
case format
|
7
|
-
when :db
|
8
|
-
ActiveSupport::Deprecation.warn(
|
9
|
-
"Array#to_s(#{format.inspect}) is deprecated. Please use Array#to_fs(#{format.inspect}) instead."
|
10
|
-
)
|
11
|
-
if empty?
|
12
|
-
"null"
|
13
|
-
else
|
14
|
-
collect(&:id).join(",")
|
15
|
-
end
|
16
|
-
when NOT_SET
|
17
|
-
to_default_s
|
18
|
-
else
|
19
|
-
ActiveSupport::Deprecation.warn(
|
20
|
-
"Array#to_s(#{format.inspect}) is deprecated. Please use Array#to_fs(#{format.inspect}) instead."
|
21
|
-
)
|
22
|
-
to_default_s
|
23
|
-
end
|
24
|
-
end
|
25
|
-
end
|
@@ -1,40 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require "date"
|
4
|
-
|
5
|
-
class Date
|
6
|
-
NOT_SET = Object.new # :nodoc:
|
7
|
-
def to_s(format = NOT_SET) # :nodoc:
|
8
|
-
if formatter = DATE_FORMATS[format]
|
9
|
-
ActiveSupport::Deprecation.warn(
|
10
|
-
"Date#to_s(#{format.inspect}) is deprecated. Please use Date#to_fs(#{format.inspect}) instead."
|
11
|
-
)
|
12
|
-
if formatter.respond_to?(:call)
|
13
|
-
formatter.call(self).to_s
|
14
|
-
else
|
15
|
-
strftime(formatter)
|
16
|
-
end
|
17
|
-
elsif format == NOT_SET
|
18
|
-
if formatter = DATE_FORMATS[:default]
|
19
|
-
ActiveSupport::Deprecation.warn(<<-MSG.squish)
|
20
|
-
Using a :default format for Date#to_s is deprecated. Please use Date#to_fs instead. If you fixed all places
|
21
|
-
inside your application that you see this deprecation, you can set
|
22
|
-
`ENV['RAILS_DISABLE_DEPRECATED_TO_S_CONVERSION']` to `"true"` in the `config/application.rb` file before
|
23
|
-
the `Bundler.require` call to fix all the callers outside of your application.
|
24
|
-
MSG
|
25
|
-
if formatter.respond_to?(:call)
|
26
|
-
formatter.call(self).to_s
|
27
|
-
else
|
28
|
-
strftime(formatter)
|
29
|
-
end
|
30
|
-
else
|
31
|
-
to_default_s
|
32
|
-
end
|
33
|
-
else
|
34
|
-
ActiveSupport::Deprecation.warn(
|
35
|
-
"Date#to_s(#{format.inspect}) is deprecated. Please use Date#to_fs(#{format.inspect}) instead."
|
36
|
-
)
|
37
|
-
to_default_s
|
38
|
-
end
|
39
|
-
end
|
40
|
-
end
|
@@ -1,36 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require "date"
|
4
|
-
|
5
|
-
class DateTime
|
6
|
-
NOT_SET = Object.new # :nodoc:
|
7
|
-
def to_s(format = NOT_SET) # :nodoc:
|
8
|
-
if formatter = ::Time::DATE_FORMATS[format]
|
9
|
-
ActiveSupport::Deprecation.warn(
|
10
|
-
"DateTime#to_s(#{format.inspect}) is deprecated. Please use DateTime#to_fs(#{format.inspect}) instead."
|
11
|
-
)
|
12
|
-
formatter.respond_to?(:call) ? formatter.call(self).to_s : strftime(formatter)
|
13
|
-
elsif format == NOT_SET
|
14
|
-
if formatter = ::Time::DATE_FORMATS[:default]
|
15
|
-
ActiveSupport::Deprecation.warn(<<-MSG.squish)
|
16
|
-
Using a :default format for DateTime#to_s is deprecated. Please use DateTime#to_fs instead. If you fixed all
|
17
|
-
places inside your application that you see this deprecation, you can set
|
18
|
-
`ENV['RAILS_DISABLE_DEPRECATED_TO_S_CONVERSION']` to `"true"` in the `config/application.rb` file before
|
19
|
-
the `Bundler.require` call to fix all the callers outside of your application.
|
20
|
-
MSG
|
21
|
-
if formatter.respond_to?(:call)
|
22
|
-
formatter.call(self).to_s
|
23
|
-
else
|
24
|
-
strftime(formatter)
|
25
|
-
end
|
26
|
-
else
|
27
|
-
to_default_s
|
28
|
-
end
|
29
|
-
else
|
30
|
-
ActiveSupport::Deprecation.warn(
|
31
|
-
"DateTime#to_s(#{format.inspect}) is deprecated. Please use DateTime#to_fs(#{format.inspect}) instead."
|
32
|
-
)
|
33
|
-
to_default_s
|
34
|
-
end
|
35
|
-
end
|
36
|
-
end
|
@@ -1,60 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
module ActiveSupport
|
4
|
-
module DeprecatedNumericWithFormat # :nodoc:
|
5
|
-
def to_s(format = nil, options = nil)
|
6
|
-
return super() if format.nil?
|
7
|
-
|
8
|
-
case format
|
9
|
-
when Integer, String
|
10
|
-
super(format)
|
11
|
-
when :phone
|
12
|
-
ActiveSupport::Deprecation.warn(
|
13
|
-
"#{self.class}#to_s(#{format.inspect}) is deprecated. Please use #{self.class}#to_fs(#{format.inspect}) instead."
|
14
|
-
)
|
15
|
-
ActiveSupport::NumberHelper.number_to_phone(self, options || {})
|
16
|
-
when :currency
|
17
|
-
ActiveSupport::Deprecation.warn(
|
18
|
-
"#{self.class}#to_s(#{format.inspect}) is deprecated. Please use #{self.class}#to_fs(#{format.inspect}) instead."
|
19
|
-
)
|
20
|
-
ActiveSupport::NumberHelper.number_to_currency(self, options || {})
|
21
|
-
when :percentage
|
22
|
-
ActiveSupport::Deprecation.warn(
|
23
|
-
"#{self.class}#to_s(#{format.inspect}) is deprecated. Please use #{self.class}#to_fs(#{format.inspect}) instead."
|
24
|
-
)
|
25
|
-
ActiveSupport::NumberHelper.number_to_percentage(self, options || {})
|
26
|
-
when :delimited
|
27
|
-
ActiveSupport::Deprecation.warn(
|
28
|
-
"#{self.class}#to_s(#{format.inspect}) is deprecated. Please use #{self.class}#to_fs(#{format.inspect}) instead."
|
29
|
-
)
|
30
|
-
ActiveSupport::NumberHelper.number_to_delimited(self, options || {})
|
31
|
-
when :rounded
|
32
|
-
ActiveSupport::Deprecation.warn(
|
33
|
-
"#{self.class}#to_s(#{format.inspect}) is deprecated. Please use #{self.class}#to_fs(#{format.inspect}) instead."
|
34
|
-
)
|
35
|
-
ActiveSupport::NumberHelper.number_to_rounded(self, options || {})
|
36
|
-
when :human
|
37
|
-
ActiveSupport::Deprecation.warn(
|
38
|
-
"#{self.class}#to_s(#{format.inspect}) is deprecated. Please use #{self.class}#to_fs(#{format.inspect}) instead."
|
39
|
-
)
|
40
|
-
ActiveSupport::NumberHelper.number_to_human(self, options || {})
|
41
|
-
when :human_size
|
42
|
-
ActiveSupport::Deprecation.warn(
|
43
|
-
"#{self.class}#to_s(#{format.inspect}) is deprecated. Please use #{self.class}#to_fs(#{format.inspect}) instead."
|
44
|
-
)
|
45
|
-
ActiveSupport::NumberHelper.number_to_human_size(self, options || {})
|
46
|
-
when Symbol
|
47
|
-
ActiveSupport::Deprecation.warn(
|
48
|
-
"#{self.class}#to_s(#{format.inspect}) is deprecated. Please use #{self.class}#to_fs(#{format.inspect}) instead."
|
49
|
-
)
|
50
|
-
super()
|
51
|
-
else
|
52
|
-
super(format)
|
53
|
-
end
|
54
|
-
end
|
55
|
-
end
|
56
|
-
end
|
57
|
-
|
58
|
-
Integer.prepend ActiveSupport::DeprecatedNumericWithFormat
|
59
|
-
Float.prepend ActiveSupport::DeprecatedNumericWithFormat
|
60
|
-
BigDecimal.prepend ActiveSupport::DeprecatedNumericWithFormat
|
@@ -1,36 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
module ActiveSupport
|
4
|
-
module DeprecatedRangeWithFormat # :nodoc:
|
5
|
-
NOT_SET = Object.new # :nodoc:
|
6
|
-
def to_s(format = NOT_SET)
|
7
|
-
if formatter = RangeWithFormat::RANGE_FORMATS[format]
|
8
|
-
ActiveSupport::Deprecation.warn(
|
9
|
-
"Range#to_s(#{format.inspect}) is deprecated. Please use Range#to_fs(#{format.inspect}) instead."
|
10
|
-
)
|
11
|
-
formatter.call(first, last)
|
12
|
-
elsif format == NOT_SET
|
13
|
-
if formatter = RangeWithFormat::RANGE_FORMATS[:default]
|
14
|
-
ActiveSupport::Deprecation.warn(<<-MSG.squish)
|
15
|
-
Using a :default format for Range#to_s is deprecated. Please use Range#to_fs instead. If you fixed all
|
16
|
-
places inside your application that you see this deprecation, you can set
|
17
|
-
`ENV['RAILS_DISABLE_DEPRECATED_TO_S_CONVERSION']` to `"true"` in the `config/application.rb` file before
|
18
|
-
the `Bundler.require` call to fix all the callers outside of your application.
|
19
|
-
MSG
|
20
|
-
formatter.call(first, last)
|
21
|
-
else
|
22
|
-
super()
|
23
|
-
end
|
24
|
-
else
|
25
|
-
ActiveSupport::Deprecation.warn(
|
26
|
-
"Range#to_s(#{format.inspect}) is deprecated. Please use Range#to_fs(#{format.inspect}) instead."
|
27
|
-
)
|
28
|
-
super()
|
29
|
-
end
|
30
|
-
end
|
31
|
-
alias_method :to_default_s, :to_s
|
32
|
-
deprecate :to_default_s
|
33
|
-
end
|
34
|
-
end
|
35
|
-
|
36
|
-
Range.prepend(ActiveSupport::DeprecatedRangeWithFormat)
|
@@ -1,73 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require "time"
|
4
|
-
|
5
|
-
class Time
|
6
|
-
NOT_SET = Object.new # :nodoc:
|
7
|
-
def to_s(format = NOT_SET) # :nodoc:
|
8
|
-
if formatter = DATE_FORMATS[format]
|
9
|
-
ActiveSupport::Deprecation.warn(
|
10
|
-
"Time#to_s(#{format.inspect}) is deprecated. Please use Time#to_fs(#{format.inspect}) instead."
|
11
|
-
)
|
12
|
-
formatter.respond_to?(:call) ? formatter.call(self).to_s : strftime(formatter)
|
13
|
-
elsif format == NOT_SET
|
14
|
-
if formatter = ::Time::DATE_FORMATS[:default]
|
15
|
-
ActiveSupport::Deprecation.warn(<<-MSG.squish)
|
16
|
-
Using a :default format for Time#to_s is deprecated. Please use Time#to_fs instead. If you fixed all places
|
17
|
-
inside your application that you see this deprecation, you can set
|
18
|
-
`ENV['RAILS_DISABLE_DEPRECATED_TO_S_CONVERSION']` to `"true"` in the `config/application.rb` file before
|
19
|
-
the `Bundler.require` call to fix all the callers outside of your application.
|
20
|
-
MSG
|
21
|
-
if formatter.respond_to?(:call)
|
22
|
-
formatter.call(self).to_s
|
23
|
-
else
|
24
|
-
strftime(formatter)
|
25
|
-
end
|
26
|
-
else
|
27
|
-
to_default_s
|
28
|
-
end
|
29
|
-
else
|
30
|
-
ActiveSupport::Deprecation.warn(
|
31
|
-
"Time#to_s(#{format.inspect}) is deprecated. Please use Time#to_fs(#{format.inspect}) instead."
|
32
|
-
)
|
33
|
-
to_default_s
|
34
|
-
end
|
35
|
-
end
|
36
|
-
end
|
37
|
-
|
38
|
-
module ActiveSupport
|
39
|
-
class TimeWithZone
|
40
|
-
NOT_SET = Object.new # :nodoc:
|
41
|
-
|
42
|
-
def to_s(format = NOT_SET) # :nodoc:
|
43
|
-
if format == :db
|
44
|
-
ActiveSupport::Deprecation.warn(
|
45
|
-
"TimeWithZone#to_s(:db) is deprecated. Please use TimeWithZone#to_fs(:db) instead."
|
46
|
-
)
|
47
|
-
utc.to_fs(format)
|
48
|
-
elsif formatter = ::Time::DATE_FORMATS[format]
|
49
|
-
ActiveSupport::Deprecation.warn(
|
50
|
-
"TimeWithZone#to_s(#{format.inspect}) is deprecated. Please use TimeWithZone#to_fs(#{format.inspect}) instead."
|
51
|
-
)
|
52
|
-
formatter.respond_to?(:call) ? formatter.call(self).to_s : strftime(formatter)
|
53
|
-
elsif format == NOT_SET
|
54
|
-
if formatter = ::Time::DATE_FORMATS[:default]
|
55
|
-
ActiveSupport::Deprecation.warn(<<-MSG.squish)
|
56
|
-
Using a :default format for TimeWithZone#to_s is deprecated. Please use TimeWithZone#to_fs instead.
|
57
|
-
If you fixed all places inside your application that you see this deprecation, you can set
|
58
|
-
`ENV['RAILS_DISABLE_DEPRECATED_TO_S_CONVERSION']` to `"true"` in the `config/application.rb` file before
|
59
|
-
the `Bundler.require` call to fix all the callers outside of your application.
|
60
|
-
MSG
|
61
|
-
formatter.respond_to?(:call) ? formatter.call(self).to_s : strftime(formatter)
|
62
|
-
else
|
63
|
-
"#{time.strftime("%Y-%m-%d %H:%M:%S")} #{formatted_offset(false, 'UTC')}" # mimicking Ruby Time#to_s format
|
64
|
-
end
|
65
|
-
else
|
66
|
-
ActiveSupport::Deprecation.warn(
|
67
|
-
"TimeWithZone#to_s(#{format.inspect}) is deprecated. Please use TimeWithZone#to_fs(#{format.inspect}) instead."
|
68
|
-
)
|
69
|
-
"#{time.strftime("%Y-%m-%d %H:%M:%S")} #{formatted_offset(false, 'UTC')}" # mimicking Ruby Time#to_s format
|
70
|
-
end
|
71
|
-
end
|
72
|
-
end
|
73
|
-
end
|
@@ -1,65 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require "active_support/core_ext/module/delegation"
|
4
|
-
|
5
|
-
module ActiveSupport
|
6
|
-
# NOTE: This approach has been deprecated for end-user code in favor of {thread_mattr_accessor}[rdoc-ref:Module#thread_mattr_accessor] and friends.
|
7
|
-
# Please use that approach instead.
|
8
|
-
#
|
9
|
-
# This module is used to encapsulate access to thread local variables.
|
10
|
-
#
|
11
|
-
# Instead of polluting the thread locals namespace:
|
12
|
-
#
|
13
|
-
# Thread.current[:connection_handler]
|
14
|
-
#
|
15
|
-
# you define a class that extends this module:
|
16
|
-
#
|
17
|
-
# module ActiveRecord
|
18
|
-
# class RuntimeRegistry
|
19
|
-
# extend ActiveSupport::PerThreadRegistry
|
20
|
-
#
|
21
|
-
# attr_accessor :connection_handler
|
22
|
-
# end
|
23
|
-
# end
|
24
|
-
#
|
25
|
-
# and invoke the declared instance accessors as class methods. So
|
26
|
-
#
|
27
|
-
# ActiveRecord::RuntimeRegistry.connection_handler = connection_handler
|
28
|
-
#
|
29
|
-
# sets a connection handler local to the current thread, and
|
30
|
-
#
|
31
|
-
# ActiveRecord::RuntimeRegistry.connection_handler
|
32
|
-
#
|
33
|
-
# returns a connection handler local to the current thread.
|
34
|
-
#
|
35
|
-
# This feature is accomplished by instantiating the class and storing the
|
36
|
-
# instance as a thread local keyed by the class name. In the example above
|
37
|
-
# a key "ActiveRecord::RuntimeRegistry" is stored in <tt>Thread.current</tt>.
|
38
|
-
# The class methods proxy to said thread local instance.
|
39
|
-
#
|
40
|
-
# If the class has an initializer, it must accept no arguments.
|
41
|
-
module PerThreadRegistry
|
42
|
-
def self.extended(object)
|
43
|
-
ActiveSupport::Deprecation.warn(<<~MSG)
|
44
|
-
ActiveSupport::PerThreadRegistry is deprecated and will be removed in Rails 7.1.
|
45
|
-
Use `Module#thread_mattr_accessor` instead.
|
46
|
-
MSG
|
47
|
-
object.instance_variable_set :@per_thread_registry_key, object.name.freeze
|
48
|
-
end
|
49
|
-
|
50
|
-
def instance
|
51
|
-
Thread.current[@per_thread_registry_key] ||= new
|
52
|
-
end
|
53
|
-
|
54
|
-
private
|
55
|
-
def method_missing(name, *args, &block)
|
56
|
-
# Caches the method definition as a singleton method of the receiver.
|
57
|
-
#
|
58
|
-
# By letting #delegate handle it, we avoid an enclosure that'll capture args.
|
59
|
-
singleton_class.delegate name, to: :instance
|
60
|
-
|
61
|
-
send(name, *args, &block)
|
62
|
-
end
|
63
|
-
ruby2_keywords(:method_missing)
|
64
|
-
end
|
65
|
-
end
|