activesupport 5.2.3 → 6.0.0

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 (138) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +353 -383
  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 +7 -2
  12. data/lib/active_support/cache/null_store.rb +5 -0
  13. data/lib/active_support/cache/redis_cache_store.rb +36 -9
  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/digest.rb +3 -0
  27. data/lib/active_support/core_ext/enumerable.rb +97 -73
  28. data/lib/active_support/core_ext/hash.rb +1 -2
  29. data/lib/active_support/core_ext/hash/compact.rb +2 -26
  30. data/lib/active_support/core_ext/hash/deep_transform_values.rb +46 -0
  31. data/lib/active_support/core_ext/hash/except.rb +1 -1
  32. data/lib/active_support/core_ext/hash/keys.rb +0 -29
  33. data/lib/active_support/core_ext/hash/slice.rb +3 -25
  34. data/lib/active_support/core_ext/hash/transform_values.rb +2 -29
  35. data/lib/active_support/core_ext/integer/multiple.rb +1 -1
  36. data/lib/active_support/core_ext/kernel.rb +0 -1
  37. data/lib/active_support/core_ext/load_error.rb +1 -1
  38. data/lib/active_support/core_ext/module.rb +0 -1
  39. data/lib/active_support/core_ext/module/attribute_accessors.rb +7 -10
  40. data/lib/active_support/core_ext/module/attribute_accessors_per_thread.rb +13 -19
  41. data/lib/active_support/core_ext/module/delegation.rb +33 -7
  42. data/lib/active_support/core_ext/module/introspection.rb +37 -13
  43. data/lib/active_support/core_ext/module/reachable.rb +1 -6
  44. data/lib/active_support/core_ext/module/redefine_method.rb +8 -17
  45. data/lib/active_support/core_ext/numeric.rb +0 -1
  46. data/lib/active_support/core_ext/numeric/conversions.rb +124 -128
  47. data/lib/active_support/core_ext/numeric/inquiry.rb +2 -25
  48. data/lib/active_support/core_ext/object/blank.rb +1 -2
  49. data/lib/active_support/core_ext/object/duplicable.rb +7 -114
  50. data/lib/active_support/core_ext/object/json.rb +1 -0
  51. data/lib/active_support/core_ext/object/try.rb +15 -7
  52. data/lib/active_support/core_ext/object/with_options.rb +1 -1
  53. data/lib/active_support/core_ext/range/compare_range.rb +22 -13
  54. data/lib/active_support/core_ext/range/conversions.rb +31 -29
  55. data/lib/active_support/core_ext/range/include_range.rb +6 -0
  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 +61 -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 +110 -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 +4 -3
  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 +3 -3
  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 +9 -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 +28 -5
  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 +100 -15
  103. data/lib/active_support/notifications/instrumenter.rb +79 -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/parameter_filter.rb +129 -0
  113. data/lib/active_support/rails.rb +0 -6
  114. data/lib/active_support/reloader.rb +4 -5
  115. data/lib/active_support/security_utils.rb +1 -1
  116. data/lib/active_support/subscriber.rb +65 -26
  117. data/lib/active_support/tagged_logging.rb +13 -4
  118. data/lib/active_support/test_case.rb +91 -0
  119. data/lib/active_support/testing/assertions.rb +15 -1
  120. data/lib/active_support/testing/deprecation.rb +0 -1
  121. data/lib/active_support/testing/file_fixtures.rb +2 -0
  122. data/lib/active_support/testing/isolation.rb +2 -2
  123. data/lib/active_support/testing/method_call_assertions.rb +28 -1
  124. data/lib/active_support/testing/parallelization.rb +128 -0
  125. data/lib/active_support/testing/stream.rb +1 -1
  126. data/lib/active_support/testing/time_helpers.rb +7 -7
  127. data/lib/active_support/time_with_zone.rb +15 -5
  128. data/lib/active_support/values/time_zone.rb +12 -7
  129. data/lib/active_support/xml_mini.rb +2 -9
  130. data/lib/active_support/xml_mini/jdom.rb +2 -2
  131. data/lib/active_support/xml_mini/libxml.rb +2 -2
  132. data/lib/active_support/xml_mini/libxmlsax.rb +4 -4
  133. data/lib/active_support/xml_mini/nokogiri.rb +2 -2
  134. data/lib/active_support/xml_mini/nokogirisax.rb +3 -3
  135. data/lib/active_support/xml_mini/rexml.rb +2 -2
  136. metadata +34 -8
  137. data/lib/active_support/core_ext/kernel/agnostics.rb +0 -13
  138. 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.3
4
+ version: 6.0.0
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-03-28 00:00:00.000000000 Z
11
+ date: 2019-08-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: i18n
@@ -78,6 +78,26 @@ 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.1'
88
+ - - ">="
89
+ - !ruby/object:Gem::Version
90
+ version: 2.1.8
91
+ type: :runtime
92
+ prerelease: false
93
+ version_requirements: !ruby/object:Gem::Requirement
94
+ requirements:
95
+ - - "~>"
96
+ - !ruby/object:Gem::Version
97
+ version: '2.1'
98
+ - - ">="
99
+ - !ruby/object:Gem::Version
100
+ version: 2.1.8
81
101
  description: A toolkit of support libraries and Ruby core extensions extracted from
82
102
  the Rails framework. Rich support for multibyte strings, internationalization, time
83
103
  zones, and testing.
@@ -90,6 +110,7 @@ files:
90
110
  - MIT-LICENSE
91
111
  - README.rdoc
92
112
  - lib/active_support.rb
113
+ - lib/active_support/actionable_error.rb
93
114
  - lib/active_support/all.rb
94
115
  - lib/active_support/array_inquirer.rb
95
116
  - lib/active_support/backtrace_cleaner.rb
@@ -112,6 +133,7 @@ files:
112
133
  - lib/active_support/core_ext/array.rb
113
134
  - lib/active_support/core_ext/array/access.rb
114
135
  - lib/active_support/core_ext/array/conversions.rb
136
+ - lib/active_support/core_ext/array/extract.rb
115
137
  - lib/active_support/core_ext/array/extract_options.rb
116
138
  - lib/active_support/core_ext/array/grouping.rb
117
139
  - lib/active_support/core_ext/array/inquiry.rb
@@ -139,6 +161,7 @@ files:
139
161
  - lib/active_support/core_ext/date_time/calculations.rb
140
162
  - lib/active_support/core_ext/date_time/compatibility.rb
141
163
  - lib/active_support/core_ext/date_time/conversions.rb
164
+ - lib/active_support/core_ext/digest.rb
142
165
  - lib/active_support/core_ext/digest/uuid.rb
143
166
  - lib/active_support/core_ext/enumerable.rb
144
167
  - lib/active_support/core_ext/file.rb
@@ -147,6 +170,7 @@ files:
147
170
  - lib/active_support/core_ext/hash/compact.rb
148
171
  - lib/active_support/core_ext/hash/conversions.rb
149
172
  - lib/active_support/core_ext/hash/deep_merge.rb
173
+ - lib/active_support/core_ext/hash/deep_transform_values.rb
150
174
  - lib/active_support/core_ext/hash/except.rb
151
175
  - lib/active_support/core_ext/hash/indifferent_access.rb
152
176
  - lib/active_support/core_ext/hash/keys.rb
@@ -158,7 +182,6 @@ files:
158
182
  - lib/active_support/core_ext/integer/multiple.rb
159
183
  - lib/active_support/core_ext/integer/time.rb
160
184
  - lib/active_support/core_ext/kernel.rb
161
- - lib/active_support/core_ext/kernel/agnostics.rb
162
185
  - lib/active_support/core_ext/kernel/concern.rb
163
186
  - lib/active_support/core_ext/kernel/reporting.rb
164
187
  - lib/active_support/core_ext/kernel/singleton_class.rb
@@ -230,6 +253,7 @@ files:
230
253
  - lib/active_support/dependencies.rb
231
254
  - lib/active_support/dependencies/autoload.rb
232
255
  - lib/active_support/dependencies/interlock.rb
256
+ - lib/active_support/dependencies/zeitwerk_integration.rb
233
257
  - lib/active_support/deprecation.rb
234
258
  - lib/active_support/deprecation/behaviors.rb
235
259
  - lib/active_support/deprecation/constant_accessor.rb
@@ -263,6 +287,7 @@ files:
263
287
  - lib/active_support/json/encoding.rb
264
288
  - lib/active_support/key_generator.rb
265
289
  - lib/active_support/lazy_load_hooks.rb
290
+ - lib/active_support/locale/en.rb
266
291
  - lib/active_support/locale/en.yml
267
292
  - lib/active_support/log_subscriber.rb
268
293
  - lib/active_support/log_subscriber/test_helper.rb
@@ -293,6 +318,7 @@ files:
293
318
  - lib/active_support/option_merger.rb
294
319
  - lib/active_support/ordered_hash.rb
295
320
  - lib/active_support/ordered_options.rb
321
+ - lib/active_support/parameter_filter.rb
296
322
  - lib/active_support/per_thread_registry.rb
297
323
  - lib/active_support/proxy_object.rb
298
324
  - lib/active_support/rails.rb
@@ -312,6 +338,7 @@ files:
312
338
  - lib/active_support/testing/file_fixtures.rb
313
339
  - lib/active_support/testing/isolation.rb
314
340
  - lib/active_support/testing/method_call_assertions.rb
341
+ - lib/active_support/testing/parallelization.rb
315
342
  - lib/active_support/testing/setup_and_teardown.rb
316
343
  - lib/active_support/testing/stream.rb
317
344
  - lib/active_support/testing/tagged_logging.rb
@@ -319,7 +346,6 @@ files:
319
346
  - lib/active_support/time.rb
320
347
  - lib/active_support/time_with_zone.rb
321
348
  - lib/active_support/values/time_zone.rb
322
- - lib/active_support/values/unicode_tables.dat
323
349
  - lib/active_support/version.rb
324
350
  - lib/active_support/xml_mini.rb
325
351
  - lib/active_support/xml_mini/jdom.rb
@@ -328,12 +354,12 @@ files:
328
354
  - lib/active_support/xml_mini/nokogiri.rb
329
355
  - lib/active_support/xml_mini/nokogirisax.rb
330
356
  - lib/active_support/xml_mini/rexml.rb
331
- homepage: http://rubyonrails.org
357
+ homepage: https://rubyonrails.org
332
358
  licenses:
333
359
  - MIT
334
360
  metadata:
335
- source_code_uri: https://github.com/rails/rails/tree/v5.2.3/activesupport
336
- changelog_uri: https://github.com/rails/rails/blob/v5.2.3/activesupport/CHANGELOG.md
361
+ source_code_uri: https://github.com/rails/rails/tree/v6.0.0/activesupport
362
+ changelog_uri: https://github.com/rails/rails/blob/v6.0.0/activesupport/CHANGELOG.md
337
363
  post_install_message:
338
364
  rdoc_options:
339
365
  - "--encoding"
@@ -344,7 +370,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
344
370
  requirements:
345
371
  - - ">="
346
372
  - !ruby/object:Gem::Version
347
- version: 2.2.2
373
+ version: 2.5.0
348
374
  required_rubygems_version: !ruby/object:Gem::Requirement
349
375
  requirements:
350
376
  - - ">="
@@ -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