activesupport 5.2.6 → 6.0.0.beta1
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 +4 -4
- data/CHANGELOG.md +182 -544
- data/MIT-LICENSE +1 -1
- data/README.rdoc +1 -1
- data/lib/active_support.rb +1 -1
- data/lib/active_support/backtrace_cleaner.rb +23 -0
- data/lib/active_support/cache.rb +40 -18
- data/lib/active_support/cache/file_store.rb +19 -12
- data/lib/active_support/cache/mem_cache_store.rb +16 -2
- data/lib/active_support/cache/memory_store.rb +5 -0
- data/lib/active_support/cache/null_store.rb +5 -0
- data/lib/active_support/cache/redis_cache_store.rb +39 -20
- data/lib/active_support/callbacks.rb +16 -5
- data/lib/active_support/configurable.rb +4 -8
- data/lib/active_support/core_ext/array.rb +1 -1
- data/lib/active_support/core_ext/array/extract.rb +21 -0
- data/lib/active_support/core_ext/array/prepend_and_append.rb +2 -6
- data/lib/active_support/core_ext/class/attribute.rb +1 -1
- data/lib/active_support/core_ext/class/subclasses.rb +1 -1
- data/lib/active_support/core_ext/date/calculations.rb +6 -5
- data/lib/active_support/core_ext/date_and_time/calculations.rb +24 -17
- data/lib/active_support/core_ext/date_time/calculations.rb +1 -1
- data/lib/active_support/core_ext/enumerable.rb +71 -67
- data/lib/active_support/core_ext/hash.rb +0 -2
- data/lib/active_support/core_ext/hash/compact.rb +2 -26
- data/lib/active_support/core_ext/hash/keys.rb +0 -29
- data/lib/active_support/core_ext/hash/slice.rb +3 -25
- data/lib/active_support/core_ext/hash/transform_values.rb +2 -29
- data/lib/active_support/core_ext/integer/multiple.rb +1 -1
- data/lib/active_support/core_ext/load_error.rb +1 -1
- data/lib/active_support/core_ext/module.rb +0 -1
- data/lib/active_support/core_ext/module/attribute_accessors.rb +2 -5
- data/lib/active_support/core_ext/module/attribute_accessors_per_thread.rb +8 -14
- data/lib/active_support/core_ext/module/delegation.rb +27 -7
- data/lib/active_support/core_ext/module/introspection.rb +37 -13
- data/lib/active_support/core_ext/module/reachable.rb +1 -6
- data/lib/active_support/core_ext/module/redefine_method.rb +8 -17
- data/lib/active_support/core_ext/numeric.rb +0 -1
- data/lib/active_support/core_ext/numeric/conversions.rb +124 -128
- data/lib/active_support/core_ext/numeric/inquiry.rb +2 -25
- data/lib/active_support/core_ext/object/blank.rb +1 -2
- data/lib/active_support/core_ext/object/duplicable.rb +5 -2
- data/lib/active_support/core_ext/object/json.rb +1 -0
- data/lib/active_support/core_ext/object/try.rb +15 -7
- data/lib/active_support/core_ext/object/with_options.rb +1 -1
- data/lib/active_support/core_ext/range/compare_range.rb +1 -1
- data/lib/active_support/core_ext/range/conversions.rb +31 -29
- data/lib/active_support/core_ext/range/include_range.rb +6 -0
- data/lib/active_support/core_ext/regexp.rb +0 -4
- data/lib/active_support/core_ext/securerandom.rb +23 -3
- data/lib/active_support/core_ext/string/access.rb +8 -0
- data/lib/active_support/core_ext/string/filters.rb +41 -0
- data/lib/active_support/core_ext/string/multibyte.rb +4 -3
- data/lib/active_support/core_ext/string/output_safety.rb +16 -5
- data/lib/active_support/core_ext/string/strip.rb +3 -1
- data/lib/active_support/core_ext/uri.rb +1 -0
- data/lib/active_support/current_attributes.rb +2 -0
- data/lib/active_support/dependencies.rb +28 -11
- data/lib/active_support/deprecation.rb +1 -1
- data/lib/active_support/deprecation/behaviors.rb +1 -1
- data/lib/active_support/deprecation/method_wrappers.rb +4 -5
- data/lib/active_support/deprecation/proxy_wrappers.rb +0 -2
- data/lib/active_support/descendants_tracker.rb +6 -5
- data/lib/active_support/duration.rb +12 -14
- data/lib/active_support/duration/iso8601_parser.rb +2 -3
- data/lib/active_support/duration/iso8601_serializer.rb +3 -4
- data/lib/active_support/encrypted_configuration.rb +0 -4
- data/lib/active_support/evented_file_update_checker.rb +25 -7
- data/lib/active_support/execution_wrapper.rb +1 -0
- data/lib/active_support/gem_version.rb +4 -4
- data/lib/active_support/hash_with_indifferent_access.rb +16 -28
- data/lib/active_support/i18n.rb +1 -0
- data/lib/active_support/i18n_railtie.rb +8 -1
- data/lib/active_support/inflector/inflections.rb +1 -4
- data/lib/active_support/inflector/methods.rb +15 -27
- data/lib/active_support/inflector/transliterate.rb +6 -6
- data/lib/active_support/json/decoding.rb +23 -23
- data/lib/active_support/json/encoding.rb +6 -2
- data/lib/active_support/key_generator.rb +0 -32
- data/lib/active_support/lazy_load_hooks.rb +5 -1
- data/lib/active_support/locale/en.rb +31 -0
- data/lib/active_support/log_subscriber.rb +31 -8
- data/lib/active_support/logger.rb +0 -15
- data/lib/active_support/logger_silence.rb +28 -12
- data/lib/active_support/logger_thread_safe_level.rb +27 -6
- data/lib/active_support/message_encryptor.rb +2 -4
- data/lib/active_support/message_verifier.rb +2 -2
- data/lib/active_support/multibyte/chars.rb +29 -48
- data/lib/active_support/multibyte/unicode.rb +44 -281
- data/lib/active_support/notifications.rb +32 -4
- data/lib/active_support/notifications/fanout.rb +42 -4
- data/lib/active_support/notifications/instrumenter.rb +73 -2
- data/lib/active_support/number_helper.rb +7 -0
- data/lib/active_support/number_helper/number_to_currency_converter.rb +2 -2
- data/lib/active_support/number_helper/number_to_delimited_converter.rb +3 -1
- data/lib/active_support/number_helper/number_to_human_converter.rb +3 -1
- data/lib/active_support/number_helper/number_to_human_size_converter.rb +3 -1
- data/lib/active_support/number_helper/number_to_percentage_converter.rb +3 -1
- data/lib/active_support/number_helper/number_to_phone_converter.rb +2 -0
- data/lib/active_support/number_helper/number_to_rounded_converter.rb +5 -3
- data/lib/active_support/ordered_options.rb +1 -1
- data/lib/active_support/parameter_filter.rb +124 -0
- data/lib/active_support/rails.rb +0 -6
- data/lib/active_support/reloader.rb +4 -5
- data/lib/active_support/subscriber.rb +16 -26
- data/lib/active_support/tagged_logging.rb +13 -4
- data/lib/active_support/test_case.rb +91 -0
- data/lib/active_support/testing/assertions.rb +15 -1
- data/lib/active_support/testing/deprecation.rb +0 -1
- data/lib/active_support/testing/file_fixtures.rb +2 -0
- data/lib/active_support/testing/isolation.rb +2 -2
- data/lib/active_support/testing/method_call_assertions.rb +28 -1
- data/lib/active_support/testing/parallelization.rb +109 -0
- data/lib/active_support/testing/stream.rb +1 -1
- data/lib/active_support/testing/time_helpers.rb +7 -7
- data/lib/active_support/time_with_zone.rb +15 -5
- data/lib/active_support/values/time_zone.rb +12 -7
- data/lib/active_support/xml_mini.rb +2 -9
- data/lib/active_support/xml_mini/jdom.rb +2 -2
- data/lib/active_support/xml_mini/libxml.rb +2 -2
- data/lib/active_support/xml_mini/libxmlsax.rb +4 -4
- data/lib/active_support/xml_mini/nokogiri.rb +2 -2
- data/lib/active_support/xml_mini/nokogirisax.rb +3 -3
- data/lib/active_support/xml_mini/rexml.rb +2 -2
- metadata +12 -10
- data/lib/active_support/core_ext/digest.rb +0 -3
- data/lib/active_support/values/unicode_tables.dat +0 -0
@@ -2,7 +2,6 @@
|
|
2
2
|
|
3
3
|
require "tzinfo"
|
4
4
|
require "concurrent/map"
|
5
|
-
require "active_support/core_ext/object/blank"
|
6
5
|
|
7
6
|
module ActiveSupport
|
8
7
|
# The TimeZone class serves as a wrapper around TZInfo::Timezone instances.
|
@@ -183,8 +182,9 @@ module ActiveSupport
|
|
183
182
|
"Samoa" => "Pacific/Apia"
|
184
183
|
}
|
185
184
|
|
186
|
-
UTC_OFFSET_WITH_COLON = "%s%02d:%02d"
|
187
|
-
UTC_OFFSET_WITHOUT_COLON = UTC_OFFSET_WITH_COLON.tr(":", "")
|
185
|
+
UTC_OFFSET_WITH_COLON = "%s%02d:%02d" # :nodoc:
|
186
|
+
UTC_OFFSET_WITHOUT_COLON = UTC_OFFSET_WITH_COLON.tr(":", "") # :nodoc:
|
187
|
+
private_constant :UTC_OFFSET_WITH_COLON, :UTC_OFFSET_WITHOUT_COLON
|
188
188
|
|
189
189
|
@lazy_zones_map = Concurrent::Map.new
|
190
190
|
@country_zones = Concurrent::Map.new
|
@@ -266,7 +266,7 @@ module ActiveSupport
|
|
266
266
|
private
|
267
267
|
def load_country_zones(code)
|
268
268
|
country = TZInfo::Country.get(code)
|
269
|
-
country.zone_identifiers.
|
269
|
+
country.zone_identifiers.flat_map do |tz_id|
|
270
270
|
if MAPPING.value?(tz_id)
|
271
271
|
MAPPING.inject([]) do |memo, (key, value)|
|
272
272
|
memo << self[key] if value == tz_id
|
@@ -275,7 +275,7 @@ module ActiveSupport
|
|
275
275
|
else
|
276
276
|
create(tz_id, nil, TZInfo::Timezone.new(tz_id))
|
277
277
|
end
|
278
|
-
end.
|
278
|
+
end.sort!
|
279
279
|
end
|
280
280
|
|
281
281
|
def zones_map
|
@@ -355,8 +355,13 @@ module ActiveSupport
|
|
355
355
|
# Time.zone = 'Hawaii' # => "Hawaii"
|
356
356
|
# Time.utc(2000).to_f # => 946684800.0
|
357
357
|
# Time.zone.at(946684800.0) # => Fri, 31 Dec 1999 14:00:00 HST -10:00
|
358
|
-
|
359
|
-
|
358
|
+
#
|
359
|
+
# A second argument can be supplied to specify sub-second precision.
|
360
|
+
#
|
361
|
+
# Time.zone = 'Hawaii' # => "Hawaii"
|
362
|
+
# Time.at(946684800, 123456.789).nsec # => 123456789
|
363
|
+
def at(*args)
|
364
|
+
Time.at(*args).utc.in_time_zone(self)
|
360
365
|
end
|
361
366
|
|
362
367
|
# Method for creating new ActiveSupport::TimeWithZone instance in time zone
|
@@ -3,6 +3,7 @@
|
|
3
3
|
require "time"
|
4
4
|
require "base64"
|
5
5
|
require "bigdecimal"
|
6
|
+
require "bigdecimal/util"
|
6
7
|
require "active_support/core_ext/module/delegation"
|
7
8
|
require "active_support/core_ext/string/inflections"
|
8
9
|
require "active_support/core_ext/date_time/calculations"
|
@@ -48,10 +49,6 @@ module ActiveSupport
|
|
48
49
|
"Array" => "array",
|
49
50
|
"Hash" => "hash"
|
50
51
|
}
|
51
|
-
|
52
|
-
# No need to map these on Ruby 2.4+
|
53
|
-
TYPE_NAMES["Fixnum"] = "integer" unless 0.class == Integer
|
54
|
-
TYPE_NAMES["Bignum"] = "integer" unless 0.class == Integer
|
55
52
|
end
|
56
53
|
|
57
54
|
FORMATTING = {
|
@@ -72,11 +69,7 @@ module ActiveSupport
|
|
72
69
|
"float" => Proc.new { |float| float.to_f },
|
73
70
|
"decimal" => Proc.new do |number|
|
74
71
|
if String === number
|
75
|
-
|
76
|
-
BigDecimal(number)
|
77
|
-
rescue ArgumentError
|
78
|
-
BigDecimal(number.to_f.to_s)
|
79
|
-
end
|
72
|
+
number.to_d
|
80
73
|
else
|
81
74
|
BigDecimal(number)
|
82
75
|
end
|
@@ -18,7 +18,7 @@ module ActiveSupport
|
|
18
18
|
module XmlMini_JDOM #:nodoc:
|
19
19
|
extend self
|
20
20
|
|
21
|
-
CONTENT_KEY = "__content__"
|
21
|
+
CONTENT_KEY = "__content__"
|
22
22
|
|
23
23
|
NODE_TYPE_NAMES = %w{ATTRIBUTE_NODE CDATA_SECTION_NODE COMMENT_NODE DOCUMENT_FRAGMENT_NODE
|
24
24
|
DOCUMENT_NODE DOCUMENT_TYPE_NODE ELEMENT_NODE ENTITY_NODE ENTITY_REFERENCE_NODE NOTATION_NODE
|
@@ -169,7 +169,7 @@ module ActiveSupport
|
|
169
169
|
# element::
|
170
170
|
# XML element to be checked.
|
171
171
|
def empty_content?(element)
|
172
|
-
text = ""
|
172
|
+
text = +""
|
173
173
|
child_nodes = element.child_nodes
|
174
174
|
(0...child_nodes.length).each do |i|
|
175
175
|
item = child_nodes.item(i)
|
@@ -34,7 +34,7 @@ module LibXML #:nodoc:
|
|
34
34
|
end
|
35
35
|
|
36
36
|
module Node #:nodoc:
|
37
|
-
CONTENT_ROOT = "__content__"
|
37
|
+
CONTENT_ROOT = "__content__"
|
38
38
|
|
39
39
|
# Convert XML document to hash.
|
40
40
|
#
|
@@ -55,7 +55,7 @@ module LibXML #:nodoc:
|
|
55
55
|
if c.element?
|
56
56
|
c.to_hash(node_hash)
|
57
57
|
elsif c.text? || c.cdata?
|
58
|
-
node_hash[CONTENT_ROOT] ||= ""
|
58
|
+
node_hash[CONTENT_ROOT] ||= +""
|
59
59
|
node_hash[CONTENT_ROOT] << c.content
|
60
60
|
end
|
61
61
|
end
|
@@ -13,8 +13,8 @@ module ActiveSupport
|
|
13
13
|
class HashBuilder
|
14
14
|
include LibXML::XML::SaxParser::Callbacks
|
15
15
|
|
16
|
-
CONTENT_KEY = "__content__"
|
17
|
-
HASH_SIZE_KEY = "__hash_size__"
|
16
|
+
CONTENT_KEY = "__content__"
|
17
|
+
HASH_SIZE_KEY = "__hash_size__"
|
18
18
|
|
19
19
|
attr_reader :hash
|
20
20
|
|
@@ -23,7 +23,7 @@ module ActiveSupport
|
|
23
23
|
end
|
24
24
|
|
25
25
|
def on_start_document
|
26
|
-
@hash = { CONTENT_KEY => ""
|
26
|
+
@hash = { CONTENT_KEY => +"" }
|
27
27
|
@hash_stack = [@hash]
|
28
28
|
end
|
29
29
|
|
@@ -33,7 +33,7 @@ module ActiveSupport
|
|
33
33
|
end
|
34
34
|
|
35
35
|
def on_start_element(name, attrs = {})
|
36
|
-
new_hash = { CONTENT_KEY => ""
|
36
|
+
new_hash = { CONTENT_KEY => +"" }.merge!(attrs)
|
37
37
|
new_hash[HASH_SIZE_KEY] = new_hash.size + 1
|
38
38
|
|
39
39
|
case current_hash[name]
|
@@ -38,7 +38,7 @@ module ActiveSupport
|
|
38
38
|
end
|
39
39
|
|
40
40
|
module Node #:nodoc:
|
41
|
-
CONTENT_ROOT = "__content__"
|
41
|
+
CONTENT_ROOT = "__content__"
|
42
42
|
|
43
43
|
# Convert XML document to hash.
|
44
44
|
#
|
@@ -59,7 +59,7 @@ module ActiveSupport
|
|
59
59
|
if c.element?
|
60
60
|
c.to_hash(node_hash)
|
61
61
|
elsif c.text? || c.cdata?
|
62
|
-
node_hash[CONTENT_ROOT] ||= ""
|
62
|
+
node_hash[CONTENT_ROOT] ||= +""
|
63
63
|
node_hash[CONTENT_ROOT] << c.content
|
64
64
|
end
|
65
65
|
end
|
@@ -16,8 +16,8 @@ module ActiveSupport
|
|
16
16
|
# Class that will build the hash while the XML document
|
17
17
|
# is being parsed using SAX events.
|
18
18
|
class HashBuilder < Nokogiri::XML::SAX::Document
|
19
|
-
CONTENT_KEY = "__content__"
|
20
|
-
HASH_SIZE_KEY = "__hash_size__"
|
19
|
+
CONTENT_KEY = "__content__"
|
20
|
+
HASH_SIZE_KEY = "__hash_size__"
|
21
21
|
|
22
22
|
attr_reader :hash
|
23
23
|
|
@@ -39,7 +39,7 @@ module ActiveSupport
|
|
39
39
|
end
|
40
40
|
|
41
41
|
def start_element(name, attrs = [])
|
42
|
-
new_hash = { CONTENT_KEY => ""
|
42
|
+
new_hash = { CONTENT_KEY => +"" }.merge!(Hash[attrs])
|
43
43
|
new_hash[HASH_SIZE_KEY] = new_hash.size + 1
|
44
44
|
|
45
45
|
case current_hash[name]
|
@@ -8,7 +8,7 @@ module ActiveSupport
|
|
8
8
|
module XmlMini_REXML #:nodoc:
|
9
9
|
extend self
|
10
10
|
|
11
|
-
CONTENT_KEY = "__content__"
|
11
|
+
CONTENT_KEY = "__content__"
|
12
12
|
|
13
13
|
# Parse an XML Document string or IO into a simple hash.
|
14
14
|
#
|
@@ -76,7 +76,7 @@ module ActiveSupport
|
|
76
76
|
hash
|
77
77
|
else
|
78
78
|
# must use value to prevent double-escaping
|
79
|
-
texts = ""
|
79
|
+
texts = +""
|
80
80
|
element.texts.each { |t| texts << t.value }
|
81
81
|
merge!(hash, CONTENT_KEY, texts)
|
82
82
|
end
|
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:
|
4
|
+
version: 6.0.0.beta1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- David Heinemeier Hansson
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2019-01-18 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: i18n
|
@@ -112,6 +112,7 @@ files:
|
|
112
112
|
- lib/active_support/core_ext/array.rb
|
113
113
|
- lib/active_support/core_ext/array/access.rb
|
114
114
|
- lib/active_support/core_ext/array/conversions.rb
|
115
|
+
- lib/active_support/core_ext/array/extract.rb
|
115
116
|
- lib/active_support/core_ext/array/extract_options.rb
|
116
117
|
- lib/active_support/core_ext/array/grouping.rb
|
117
118
|
- lib/active_support/core_ext/array/inquiry.rb
|
@@ -139,7 +140,6 @@ files:
|
|
139
140
|
- lib/active_support/core_ext/date_time/calculations.rb
|
140
141
|
- lib/active_support/core_ext/date_time/compatibility.rb
|
141
142
|
- lib/active_support/core_ext/date_time/conversions.rb
|
142
|
-
- lib/active_support/core_ext/digest.rb
|
143
143
|
- lib/active_support/core_ext/digest/uuid.rb
|
144
144
|
- lib/active_support/core_ext/enumerable.rb
|
145
145
|
- lib/active_support/core_ext/file.rb
|
@@ -264,6 +264,7 @@ files:
|
|
264
264
|
- lib/active_support/json/encoding.rb
|
265
265
|
- lib/active_support/key_generator.rb
|
266
266
|
- lib/active_support/lazy_load_hooks.rb
|
267
|
+
- lib/active_support/locale/en.rb
|
267
268
|
- lib/active_support/locale/en.yml
|
268
269
|
- lib/active_support/log_subscriber.rb
|
269
270
|
- lib/active_support/log_subscriber/test_helper.rb
|
@@ -294,6 +295,7 @@ files:
|
|
294
295
|
- lib/active_support/option_merger.rb
|
295
296
|
- lib/active_support/ordered_hash.rb
|
296
297
|
- lib/active_support/ordered_options.rb
|
298
|
+
- lib/active_support/parameter_filter.rb
|
297
299
|
- lib/active_support/per_thread_registry.rb
|
298
300
|
- lib/active_support/proxy_object.rb
|
299
301
|
- lib/active_support/rails.rb
|
@@ -313,6 +315,7 @@ files:
|
|
313
315
|
- lib/active_support/testing/file_fixtures.rb
|
314
316
|
- lib/active_support/testing/isolation.rb
|
315
317
|
- lib/active_support/testing/method_call_assertions.rb
|
318
|
+
- lib/active_support/testing/parallelization.rb
|
316
319
|
- lib/active_support/testing/setup_and_teardown.rb
|
317
320
|
- lib/active_support/testing/stream.rb
|
318
321
|
- lib/active_support/testing/tagged_logging.rb
|
@@ -320,7 +323,6 @@ files:
|
|
320
323
|
- lib/active_support/time.rb
|
321
324
|
- lib/active_support/time_with_zone.rb
|
322
325
|
- lib/active_support/values/time_zone.rb
|
323
|
-
- lib/active_support/values/unicode_tables.dat
|
324
326
|
- lib/active_support/version.rb
|
325
327
|
- lib/active_support/xml_mini.rb
|
326
328
|
- lib/active_support/xml_mini/jdom.rb
|
@@ -333,8 +335,8 @@ homepage: http://rubyonrails.org
|
|
333
335
|
licenses:
|
334
336
|
- MIT
|
335
337
|
metadata:
|
336
|
-
source_code_uri: https://github.com/rails/rails/tree/
|
337
|
-
changelog_uri: https://github.com/rails/rails/blob/
|
338
|
+
source_code_uri: https://github.com/rails/rails/tree/v6.0.0.beta1/activesupport
|
339
|
+
changelog_uri: https://github.com/rails/rails/blob/v6.0.0.beta1/activesupport/CHANGELOG.md
|
338
340
|
post_install_message:
|
339
341
|
rdoc_options:
|
340
342
|
- "--encoding"
|
@@ -345,14 +347,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
345
347
|
requirements:
|
346
348
|
- - ">="
|
347
349
|
- !ruby/object:Gem::Version
|
348
|
-
version: 2.
|
350
|
+
version: 2.5.0
|
349
351
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
350
352
|
requirements:
|
351
|
-
- - "
|
353
|
+
- - ">"
|
352
354
|
- !ruby/object:Gem::Version
|
353
|
-
version:
|
355
|
+
version: 1.3.1
|
354
356
|
requirements: []
|
355
|
-
rubygems_version: 3.1
|
357
|
+
rubygems_version: 3.0.1
|
356
358
|
signing_key:
|
357
359
|
specification_version: 4
|
358
360
|
summary: A toolkit of support libraries and Ruby core extensions extracted from the
|
Binary file
|