activesupport 5.2.4 → 6.0.2.1

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.

Files changed (140) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +391 -395
  3. data/MIT-LICENSE +1 -1
  4. data/README.rdoc +3 -2
  5. data/lib/active_support.rb +2 -1
  6. data/lib/active_support/actionable_error.rb +48 -0
  7. data/lib/active_support/backtrace_cleaner.rb +28 -1
  8. data/lib/active_support/cache.rb +45 -23
  9. data/lib/active_support/cache/file_store.rb +22 -22
  10. data/lib/active_support/cache/mem_cache_store.rb +5 -0
  11. data/lib/active_support/cache/memory_store.rb +9 -2
  12. data/lib/active_support/cache/null_store.rb +5 -0
  13. data/lib/active_support/cache/redis_cache_store.rb +37 -10
  14. data/lib/active_support/callbacks.rb +16 -5
  15. data/lib/active_support/concern.rb +24 -1
  16. data/lib/active_support/configurable.rb +7 -11
  17. data/lib/active_support/core_ext/array.rb +1 -1
  18. data/lib/active_support/core_ext/array/access.rb +18 -6
  19. data/lib/active_support/core_ext/array/extract.rb +21 -0
  20. data/lib/active_support/core_ext/array/prepend_and_append.rb +2 -6
  21. data/lib/active_support/core_ext/class/attribute.rb +11 -16
  22. data/lib/active_support/core_ext/class/subclasses.rb +1 -1
  23. data/lib/active_support/core_ext/date/calculations.rb +6 -5
  24. data/lib/active_support/core_ext/date_and_time/calculations.rb +24 -47
  25. data/lib/active_support/core_ext/date_time/calculations.rb +1 -1
  26. data/lib/active_support/core_ext/enumerable.rb +97 -73
  27. data/lib/active_support/core_ext/hash.rb +1 -2
  28. data/lib/active_support/core_ext/hash/compact.rb +2 -26
  29. data/lib/active_support/core_ext/hash/deep_transform_values.rb +46 -0
  30. data/lib/active_support/core_ext/hash/except.rb +1 -1
  31. data/lib/active_support/core_ext/hash/keys.rb +0 -29
  32. data/lib/active_support/core_ext/hash/slice.rb +3 -25
  33. data/lib/active_support/core_ext/hash/transform_values.rb +2 -29
  34. data/lib/active_support/core_ext/integer/multiple.rb +1 -1
  35. data/lib/active_support/core_ext/kernel.rb +0 -1
  36. data/lib/active_support/core_ext/load_error.rb +1 -1
  37. data/lib/active_support/core_ext/module.rb +0 -1
  38. data/lib/active_support/core_ext/module/attribute_accessors.rb +7 -10
  39. data/lib/active_support/core_ext/module/attribute_accessors_per_thread.rb +13 -19
  40. data/lib/active_support/core_ext/module/delegation.rb +33 -7
  41. data/lib/active_support/core_ext/module/introspection.rb +37 -13
  42. data/lib/active_support/core_ext/module/reachable.rb +1 -6
  43. data/lib/active_support/core_ext/module/redefine_method.rb +8 -17
  44. data/lib/active_support/core_ext/numeric.rb +0 -1
  45. data/lib/active_support/core_ext/numeric/conversions.rb +124 -128
  46. data/lib/active_support/core_ext/numeric/inquiry.rb +2 -25
  47. data/lib/active_support/core_ext/object/blank.rb +1 -2
  48. data/lib/active_support/core_ext/object/duplicable.rb +7 -114
  49. data/lib/active_support/core_ext/object/json.rb +1 -0
  50. data/lib/active_support/core_ext/object/try.rb +15 -7
  51. data/lib/active_support/core_ext/object/with_options.rb +1 -1
  52. data/lib/active_support/core_ext/range/compare_range.rb +28 -13
  53. data/lib/active_support/core_ext/range/conversions.rb +31 -29
  54. data/lib/active_support/core_ext/range/include_range.rb +6 -0
  55. data/lib/active_support/core_ext/range/include_time_with_zone.rb +2 -2
  56. data/lib/active_support/core_ext/regexp.rb +0 -4
  57. data/lib/active_support/core_ext/securerandom.rb +23 -3
  58. data/lib/active_support/core_ext/string/access.rb +8 -0
  59. data/lib/active_support/core_ext/string/filters.rb +42 -1
  60. data/lib/active_support/core_ext/string/inflections.rb +7 -2
  61. data/lib/active_support/core_ext/string/multibyte.rb +4 -3
  62. data/lib/active_support/core_ext/string/output_safety.rb +63 -5
  63. data/lib/active_support/core_ext/string/strip.rb +3 -1
  64. data/lib/active_support/core_ext/time/calculations.rb +31 -2
  65. data/lib/active_support/core_ext/uri.rb +1 -0
  66. data/lib/active_support/current_attributes.rb +8 -0
  67. data/lib/active_support/dependencies.rb +69 -16
  68. data/lib/active_support/dependencies/zeitwerk_integration.rb +118 -0
  69. data/lib/active_support/deprecation.rb +1 -1
  70. data/lib/active_support/deprecation/behaviors.rb +1 -1
  71. data/lib/active_support/deprecation/method_wrappers.rb +8 -20
  72. data/lib/active_support/deprecation/proxy_wrappers.rb +24 -5
  73. data/lib/active_support/descendants_tracker.rb +56 -9
  74. data/lib/active_support/duration.rb +6 -5
  75. data/lib/active_support/duration/iso8601_parser.rb +2 -3
  76. data/lib/active_support/duration/iso8601_serializer.rb +3 -4
  77. data/lib/active_support/encrypted_configuration.rb +0 -4
  78. data/lib/active_support/encrypted_file.rb +2 -1
  79. data/lib/active_support/evented_file_update_checker.rb +39 -9
  80. data/lib/active_support/execution_wrapper.rb +1 -0
  81. data/lib/active_support/gem_version.rb +4 -4
  82. data/lib/active_support/hash_with_indifferent_access.rb +22 -18
  83. data/lib/active_support/i18n.rb +1 -0
  84. data/lib/active_support/i18n_railtie.rb +13 -1
  85. data/lib/active_support/inflector/inflections.rb +1 -4
  86. data/lib/active_support/inflector/methods.rb +15 -27
  87. data/lib/active_support/inflector/transliterate.rb +47 -18
  88. data/lib/active_support/json/decoding.rb +23 -23
  89. data/lib/active_support/json/encoding.rb +6 -2
  90. data/lib/active_support/key_generator.rb +0 -32
  91. data/lib/active_support/lazy_load_hooks.rb +5 -1
  92. data/lib/active_support/locale/en.rb +31 -0
  93. data/lib/active_support/log_subscriber.rb +31 -8
  94. data/lib/active_support/logger.rb +0 -15
  95. data/lib/active_support/logger_silence.rb +28 -12
  96. data/lib/active_support/logger_thread_safe_level.rb +26 -4
  97. data/lib/active_support/message_encryptor.rb +3 -5
  98. data/lib/active_support/message_verifier.rb +3 -3
  99. data/lib/active_support/multibyte/chars.rb +29 -48
  100. data/lib/active_support/multibyte/unicode.rb +44 -281
  101. data/lib/active_support/notifications.rb +41 -4
  102. data/lib/active_support/notifications/fanout.rb +98 -13
  103. data/lib/active_support/notifications/instrumenter.rb +80 -8
  104. data/lib/active_support/number_helper.rb +7 -0
  105. data/lib/active_support/number_helper/number_to_currency_converter.rb +2 -2
  106. data/lib/active_support/number_helper/number_to_delimited_converter.rb +3 -1
  107. data/lib/active_support/number_helper/number_to_human_converter.rb +3 -1
  108. data/lib/active_support/number_helper/number_to_human_size_converter.rb +3 -1
  109. data/lib/active_support/number_helper/number_to_percentage_converter.rb +3 -1
  110. data/lib/active_support/number_helper/number_to_phone_converter.rb +2 -0
  111. data/lib/active_support/number_helper/number_to_rounded_converter.rb +5 -3
  112. data/lib/active_support/ordered_hash.rb +1 -1
  113. data/lib/active_support/ordered_options.rb +1 -1
  114. data/lib/active_support/parameter_filter.rb +129 -0
  115. data/lib/active_support/rails.rb +0 -6
  116. data/lib/active_support/reloader.rb +4 -5
  117. data/lib/active_support/security_utils.rb +1 -1
  118. data/lib/active_support/subscriber.rb +65 -26
  119. data/lib/active_support/tagged_logging.rb +13 -4
  120. data/lib/active_support/test_case.rb +91 -0
  121. data/lib/active_support/testing/assertions.rb +15 -1
  122. data/lib/active_support/testing/deprecation.rb +0 -1
  123. data/lib/active_support/testing/file_fixtures.rb +2 -0
  124. data/lib/active_support/testing/isolation.rb +2 -2
  125. data/lib/active_support/testing/method_call_assertions.rb +28 -1
  126. data/lib/active_support/testing/parallelization.rb +128 -0
  127. data/lib/active_support/testing/stream.rb +1 -1
  128. data/lib/active_support/testing/time_helpers.rb +7 -7
  129. data/lib/active_support/time_with_zone.rb +15 -5
  130. data/lib/active_support/values/time_zone.rb +12 -7
  131. data/lib/active_support/xml_mini.rb +2 -9
  132. data/lib/active_support/xml_mini/jdom.rb +2 -2
  133. data/lib/active_support/xml_mini/libxml.rb +2 -2
  134. data/lib/active_support/xml_mini/libxmlsax.rb +4 -4
  135. data/lib/active_support/xml_mini/nokogiri.rb +2 -2
  136. data/lib/active_support/xml_mini/nokogirisax.rb +3 -3
  137. data/lib/active_support/xml_mini/rexml.rb +2 -2
  138. metadata +30 -8
  139. data/lib/active_support/core_ext/kernel/agnostics.rb +0 -13
  140. data/lib/active_support/values/unicode_tables.dat +0 -0
@@ -34,7 +34,7 @@ module LibXML #:nodoc:
34
34
  end
35
35
 
36
36
  module Node #:nodoc:
37
- CONTENT_ROOT = "__content__".freeze
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] ||= "".dup
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__".freeze
17
- HASH_SIZE_KEY = "__hash_size__".freeze
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 => "".dup }
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 => "".dup }.merge!(attrs)
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__".freeze
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] ||= "".dup
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__".freeze
20
- HASH_SIZE_KEY = "__hash_size__".freeze
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 => "".dup }.merge!(Hash[attrs])
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__".freeze
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 = "".dup
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: 5.2.4
4
+ version: 6.0.2.1
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: 2019-11-27 00:00:00.000000000 Z
11
+ date: 2019-12-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: i18n
@@ -78,6 +78,20 @@ dependencies:
78
78
  - - ">="
79
79
  - !ruby/object:Gem::Version
80
80
  version: 1.0.2
81
+ - !ruby/object:Gem::Dependency
82
+ name: zeitwerk
83
+ requirement: !ruby/object:Gem::Requirement
84
+ requirements:
85
+ - - "~>"
86
+ - !ruby/object:Gem::Version
87
+ version: '2.2'
88
+ type: :runtime
89
+ prerelease: false
90
+ version_requirements: !ruby/object:Gem::Requirement
91
+ requirements:
92
+ - - "~>"
93
+ - !ruby/object:Gem::Version
94
+ version: '2.2'
81
95
  description: A toolkit of support libraries and Ruby core extensions extracted from
82
96
  the Rails framework. Rich support for multibyte strings, internationalization, time
83
97
  zones, and testing.
@@ -90,6 +104,7 @@ files:
90
104
  - MIT-LICENSE
91
105
  - README.rdoc
92
106
  - lib/active_support.rb
107
+ - lib/active_support/actionable_error.rb
93
108
  - lib/active_support/all.rb
94
109
  - lib/active_support/array_inquirer.rb
95
110
  - lib/active_support/backtrace_cleaner.rb
@@ -112,6 +127,7 @@ files:
112
127
  - lib/active_support/core_ext/array.rb
113
128
  - lib/active_support/core_ext/array/access.rb
114
129
  - lib/active_support/core_ext/array/conversions.rb
130
+ - lib/active_support/core_ext/array/extract.rb
115
131
  - lib/active_support/core_ext/array/extract_options.rb
116
132
  - lib/active_support/core_ext/array/grouping.rb
117
133
  - lib/active_support/core_ext/array/inquiry.rb
@@ -148,6 +164,7 @@ files:
148
164
  - lib/active_support/core_ext/hash/compact.rb
149
165
  - lib/active_support/core_ext/hash/conversions.rb
150
166
  - lib/active_support/core_ext/hash/deep_merge.rb
167
+ - lib/active_support/core_ext/hash/deep_transform_values.rb
151
168
  - lib/active_support/core_ext/hash/except.rb
152
169
  - lib/active_support/core_ext/hash/indifferent_access.rb
153
170
  - lib/active_support/core_ext/hash/keys.rb
@@ -159,7 +176,6 @@ files:
159
176
  - lib/active_support/core_ext/integer/multiple.rb
160
177
  - lib/active_support/core_ext/integer/time.rb
161
178
  - lib/active_support/core_ext/kernel.rb
162
- - lib/active_support/core_ext/kernel/agnostics.rb
163
179
  - lib/active_support/core_ext/kernel/concern.rb
164
180
  - lib/active_support/core_ext/kernel/reporting.rb
165
181
  - lib/active_support/core_ext/kernel/singleton_class.rb
@@ -231,6 +247,7 @@ files:
231
247
  - lib/active_support/dependencies.rb
232
248
  - lib/active_support/dependencies/autoload.rb
233
249
  - lib/active_support/dependencies/interlock.rb
250
+ - lib/active_support/dependencies/zeitwerk_integration.rb
234
251
  - lib/active_support/deprecation.rb
235
252
  - lib/active_support/deprecation/behaviors.rb
236
253
  - lib/active_support/deprecation/constant_accessor.rb
@@ -264,6 +281,7 @@ files:
264
281
  - lib/active_support/json/encoding.rb
265
282
  - lib/active_support/key_generator.rb
266
283
  - lib/active_support/lazy_load_hooks.rb
284
+ - lib/active_support/locale/en.rb
267
285
  - lib/active_support/locale/en.yml
268
286
  - lib/active_support/log_subscriber.rb
269
287
  - lib/active_support/log_subscriber/test_helper.rb
@@ -294,6 +312,7 @@ files:
294
312
  - lib/active_support/option_merger.rb
295
313
  - lib/active_support/ordered_hash.rb
296
314
  - lib/active_support/ordered_options.rb
315
+ - lib/active_support/parameter_filter.rb
297
316
  - lib/active_support/per_thread_registry.rb
298
317
  - lib/active_support/proxy_object.rb
299
318
  - lib/active_support/rails.rb
@@ -313,6 +332,7 @@ files:
313
332
  - lib/active_support/testing/file_fixtures.rb
314
333
  - lib/active_support/testing/isolation.rb
315
334
  - lib/active_support/testing/method_call_assertions.rb
335
+ - lib/active_support/testing/parallelization.rb
316
336
  - lib/active_support/testing/setup_and_teardown.rb
317
337
  - lib/active_support/testing/stream.rb
318
338
  - lib/active_support/testing/tagged_logging.rb
@@ -320,7 +340,6 @@ files:
320
340
  - lib/active_support/time.rb
321
341
  - lib/active_support/time_with_zone.rb
322
342
  - lib/active_support/values/time_zone.rb
323
- - lib/active_support/values/unicode_tables.dat
324
343
  - lib/active_support/version.rb
325
344
  - lib/active_support/xml_mini.rb
326
345
  - lib/active_support/xml_mini/jdom.rb
@@ -329,12 +348,15 @@ files:
329
348
  - lib/active_support/xml_mini/nokogiri.rb
330
349
  - lib/active_support/xml_mini/nokogirisax.rb
331
350
  - lib/active_support/xml_mini/rexml.rb
332
- homepage: http://rubyonrails.org
351
+ homepage: https://rubyonrails.org
333
352
  licenses:
334
353
  - MIT
335
354
  metadata:
336
- source_code_uri: https://github.com/rails/rails/tree/v5.2.4/activesupport
337
- changelog_uri: https://github.com/rails/rails/blob/v5.2.4/activesupport/CHANGELOG.md
355
+ bug_tracker_uri: https://github.com/rails/rails/issues
356
+ changelog_uri: https://github.com/rails/rails/blob/v6.0.2.1/activesupport/CHANGELOG.md
357
+ documentation_uri: https://api.rubyonrails.org/v6.0.2.1/
358
+ mailing_list_uri: https://groups.google.com/forum/#!forum/rubyonrails-talk
359
+ source_code_uri: https://github.com/rails/rails/tree/v6.0.2.1/activesupport
338
360
  post_install_message:
339
361
  rdoc_options:
340
362
  - "--encoding"
@@ -345,7 +367,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
345
367
  requirements:
346
368
  - - ">="
347
369
  - !ruby/object:Gem::Version
348
- version: 2.2.2
370
+ version: 2.5.0
349
371
  required_rubygems_version: !ruby/object:Gem::Requirement
350
372
  requirements:
351
373
  - - ">="
@@ -1,13 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- class Object
4
- # Makes backticks behave (somewhat more) similarly on all platforms.
5
- # On win32 `nonexistent_command` raises Errno::ENOENT; on Unix, the
6
- # spawned shell prints a message to stderr and sets $?. We emulate
7
- # Unix on the former but not the latter.
8
- def `(command) #:nodoc:
9
- super
10
- rescue Errno::ENOENT => e
11
- STDERR.puts "#$0: #{e}"
12
- end
13
- end