activesupport 6.0.6.1 → 7.1.3.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (245) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +865 -438
  3. data/MIT-LICENSE +1 -1
  4. data/README.rdoc +6 -6
  5. data/lib/active_support/actionable_error.rb +4 -2
  6. data/lib/active_support/array_inquirer.rb +4 -2
  7. data/lib/active_support/backtrace_cleaner.rb +30 -10
  8. data/lib/active_support/benchmarkable.rb +4 -3
  9. data/lib/active_support/broadcast_logger.rb +250 -0
  10. data/lib/active_support/builder.rb +1 -1
  11. data/lib/active_support/cache/coder.rb +153 -0
  12. data/lib/active_support/cache/entry.rb +134 -0
  13. data/lib/active_support/cache/file_store.rb +53 -20
  14. data/lib/active_support/cache/mem_cache_store.rb +208 -63
  15. data/lib/active_support/cache/memory_store.rb +120 -38
  16. data/lib/active_support/cache/null_store.rb +16 -2
  17. data/lib/active_support/cache/redis_cache_store.rb +201 -208
  18. data/lib/active_support/cache/serializer_with_fallback.rb +175 -0
  19. data/lib/active_support/cache/strategy/local_cache.rb +73 -66
  20. data/lib/active_support/cache.rb +539 -261
  21. data/lib/active_support/callbacks.rb +273 -142
  22. data/lib/active_support/code_generator.rb +65 -0
  23. data/lib/active_support/concern.rb +53 -7
  24. data/lib/active_support/concurrency/load_interlock_aware_monitor.rb +44 -7
  25. data/lib/active_support/concurrency/null_lock.rb +13 -0
  26. data/lib/active_support/concurrency/share_lock.rb +2 -2
  27. data/lib/active_support/configurable.rb +19 -6
  28. data/lib/active_support/configuration_file.rb +51 -0
  29. data/lib/active_support/core_ext/array/access.rb +1 -5
  30. data/lib/active_support/core_ext/array/conversions.rb +15 -13
  31. data/lib/active_support/core_ext/array/grouping.rb +6 -6
  32. data/lib/active_support/core_ext/array/inquiry.rb +2 -2
  33. data/lib/active_support/core_ext/benchmark.rb +2 -2
  34. data/lib/active_support/core_ext/big_decimal/conversions.rb +1 -1
  35. data/lib/active_support/core_ext/class/attribute.rb +34 -44
  36. data/lib/active_support/core_ext/class/subclasses.rb +19 -29
  37. data/lib/active_support/core_ext/date/blank.rb +1 -1
  38. data/lib/active_support/core_ext/date/calculations.rb +24 -9
  39. data/lib/active_support/core_ext/date/conversions.rb +18 -16
  40. data/lib/active_support/core_ext/date_and_time/calculations.rb +27 -4
  41. data/lib/active_support/core_ext/date_and_time/compatibility.rb +15 -0
  42. data/lib/active_support/core_ext/date_time/blank.rb +1 -1
  43. data/lib/active_support/core_ext/date_time/calculations.rb +4 -0
  44. data/lib/active_support/core_ext/date_time/conversions.rb +19 -15
  45. data/lib/active_support/core_ext/digest/uuid.rb +30 -13
  46. data/lib/active_support/core_ext/enumerable.rb +146 -72
  47. data/lib/active_support/core_ext/erb/util.rb +196 -0
  48. data/lib/active_support/core_ext/file/atomic.rb +3 -1
  49. data/lib/active_support/core_ext/hash/conversions.rb +3 -4
  50. data/lib/active_support/core_ext/hash/deep_merge.rb +22 -14
  51. data/lib/active_support/core_ext/hash/deep_transform_values.rb +4 -4
  52. data/lib/active_support/core_ext/hash/indifferent_access.rb +3 -3
  53. data/lib/active_support/core_ext/hash/keys.rb +5 -5
  54. data/lib/active_support/core_ext/hash/slice.rb +3 -2
  55. data/lib/active_support/core_ext/integer/inflections.rb +12 -12
  56. data/lib/active_support/core_ext/kernel/reporting.rb +4 -4
  57. data/lib/active_support/core_ext/kernel/singleton_class.rb +1 -1
  58. data/lib/active_support/core_ext/load_error.rb +1 -1
  59. data/lib/active_support/core_ext/module/attr_internal.rb +2 -2
  60. data/lib/active_support/core_ext/module/attribute_accessors.rb +31 -29
  61. data/lib/active_support/core_ext/module/attribute_accessors_per_thread.rb +51 -20
  62. data/lib/active_support/core_ext/module/concerning.rb +14 -8
  63. data/lib/active_support/core_ext/module/delegation.rb +75 -42
  64. data/lib/active_support/core_ext/module/deprecation.rb +15 -12
  65. data/lib/active_support/core_ext/module/introspection.rb +1 -26
  66. data/lib/active_support/core_ext/name_error.rb +23 -2
  67. data/lib/active_support/core_ext/numeric/bytes.rb +9 -0
  68. data/lib/active_support/core_ext/numeric/conversions.rb +82 -73
  69. data/lib/active_support/core_ext/object/acts_like.rb +29 -5
  70. data/lib/active_support/core_ext/object/blank.rb +2 -2
  71. data/lib/active_support/core_ext/object/deep_dup.rb +17 -1
  72. data/lib/active_support/core_ext/object/duplicable.rb +15 -4
  73. data/lib/active_support/core_ext/object/inclusion.rb +13 -5
  74. data/lib/active_support/core_ext/object/instance_variables.rb +22 -12
  75. data/lib/active_support/core_ext/object/json.rb +52 -28
  76. data/lib/active_support/core_ext/object/to_query.rb +2 -4
  77. data/lib/active_support/core_ext/object/try.rb +20 -20
  78. data/lib/active_support/core_ext/object/with.rb +44 -0
  79. data/lib/active_support/core_ext/object/with_options.rb +25 -6
  80. data/lib/active_support/core_ext/object.rb +1 -0
  81. data/lib/active_support/core_ext/pathname/blank.rb +16 -0
  82. data/lib/active_support/core_ext/pathname/existence.rb +23 -0
  83. data/lib/active_support/core_ext/pathname.rb +4 -0
  84. data/lib/active_support/core_ext/range/compare_range.rb +6 -25
  85. data/lib/active_support/core_ext/range/conversions.rb +34 -13
  86. data/lib/active_support/core_ext/range/each.rb +1 -1
  87. data/lib/active_support/core_ext/range/overlap.rb +40 -0
  88. data/lib/active_support/core_ext/range.rb +1 -2
  89. data/lib/active_support/core_ext/regexp.rb +8 -1
  90. data/lib/active_support/core_ext/securerandom.rb +25 -13
  91. data/lib/active_support/core_ext/string/access.rb +5 -24
  92. data/lib/active_support/core_ext/string/conversions.rb +3 -2
  93. data/lib/active_support/core_ext/string/filters.rb +21 -15
  94. data/lib/active_support/core_ext/string/indent.rb +1 -1
  95. data/lib/active_support/core_ext/string/inflections.rb +51 -10
  96. data/lib/active_support/core_ext/string/inquiry.rb +2 -1
  97. data/lib/active_support/core_ext/string/multibyte.rb +2 -2
  98. data/lib/active_support/core_ext/string/output_safety.rb +85 -194
  99. data/lib/active_support/core_ext/string/starts_ends_with.rb +2 -2
  100. data/lib/active_support/core_ext/symbol/starts_ends_with.rb +6 -0
  101. data/lib/active_support/core_ext/symbol.rb +3 -0
  102. data/lib/active_support/core_ext/thread/backtrace/location.rb +12 -0
  103. data/lib/active_support/core_ext/time/calculations.rb +46 -8
  104. data/lib/active_support/core_ext/time/conversions.rb +16 -13
  105. data/lib/active_support/core_ext/time/zones.rb +12 -28
  106. data/lib/active_support/core_ext.rb +2 -1
  107. data/lib/active_support/current_attributes/test_helper.rb +13 -0
  108. data/lib/active_support/current_attributes.rb +54 -22
  109. data/lib/active_support/deep_mergeable.rb +53 -0
  110. data/lib/active_support/dependencies/autoload.rb +17 -12
  111. data/lib/active_support/dependencies/interlock.rb +10 -18
  112. data/lib/active_support/dependencies/require_dependency.rb +28 -0
  113. data/lib/active_support/dependencies.rb +58 -769
  114. data/lib/active_support/deprecation/behaviors.rb +77 -38
  115. data/lib/active_support/deprecation/constant_accessor.rb +5 -4
  116. data/lib/active_support/deprecation/deprecators.rb +104 -0
  117. data/lib/active_support/deprecation/disallowed.rb +54 -0
  118. data/lib/active_support/deprecation/instance_delegator.rb +31 -5
  119. data/lib/active_support/deprecation/method_wrappers.rb +12 -28
  120. data/lib/active_support/deprecation/proxy_wrappers.rb +40 -25
  121. data/lib/active_support/deprecation/reporting.rb +76 -16
  122. data/lib/active_support/deprecation.rb +36 -4
  123. data/lib/active_support/deprecator.rb +7 -0
  124. data/lib/active_support/descendants_tracker.rb +150 -68
  125. data/lib/active_support/digest.rb +5 -3
  126. data/lib/active_support/duration/iso8601_parser.rb +3 -3
  127. data/lib/active_support/duration/iso8601_serializer.rb +24 -12
  128. data/lib/active_support/duration.rb +136 -56
  129. data/lib/active_support/encrypted_configuration.rb +72 -9
  130. data/lib/active_support/encrypted_file.rb +46 -13
  131. data/lib/active_support/environment_inquirer.rb +40 -0
  132. data/lib/active_support/error_reporter/test_helper.rb +15 -0
  133. data/lib/active_support/error_reporter.rb +203 -0
  134. data/lib/active_support/evented_file_update_checker.rb +86 -137
  135. data/lib/active_support/execution_context/test_helper.rb +13 -0
  136. data/lib/active_support/execution_context.rb +53 -0
  137. data/lib/active_support/execution_wrapper.rb +31 -12
  138. data/lib/active_support/executor/test_helper.rb +7 -0
  139. data/lib/active_support/file_update_checker.rb +4 -2
  140. data/lib/active_support/fork_tracker.rb +79 -0
  141. data/lib/active_support/gem_version.rb +5 -5
  142. data/lib/active_support/gzip.rb +2 -0
  143. data/lib/active_support/hash_with_indifferent_access.rb +86 -42
  144. data/lib/active_support/html_safe_translation.rb +53 -0
  145. data/lib/active_support/i18n.rb +2 -1
  146. data/lib/active_support/i18n_railtie.rb +29 -27
  147. data/lib/active_support/inflector/inflections.rb +26 -9
  148. data/lib/active_support/inflector/methods.rb +54 -64
  149. data/lib/active_support/inflector/transliterate.rb +7 -5
  150. data/lib/active_support/isolated_execution_state.rb +76 -0
  151. data/lib/active_support/json/decoding.rb +6 -5
  152. data/lib/active_support/json/encoding.rb +31 -45
  153. data/lib/active_support/key_generator.rb +32 -7
  154. data/lib/active_support/lazy_load_hooks.rb +33 -7
  155. data/lib/active_support/locale/en.yml +10 -4
  156. data/lib/active_support/log_subscriber/test_helper.rb +2 -2
  157. data/lib/active_support/log_subscriber.rb +101 -32
  158. data/lib/active_support/logger.rb +9 -60
  159. data/lib/active_support/logger_silence.rb +2 -26
  160. data/lib/active_support/logger_thread_safe_level.rb +24 -25
  161. data/lib/active_support/message_encryptor.rb +205 -58
  162. data/lib/active_support/message_encryptors.rb +141 -0
  163. data/lib/active_support/message_pack/cache_serializer.rb +23 -0
  164. data/lib/active_support/message_pack/extensions.rb +292 -0
  165. data/lib/active_support/message_pack/serializer.rb +63 -0
  166. data/lib/active_support/message_pack.rb +50 -0
  167. data/lib/active_support/message_verifier.rb +237 -86
  168. data/lib/active_support/message_verifiers.rb +135 -0
  169. data/lib/active_support/messages/codec.rb +65 -0
  170. data/lib/active_support/messages/metadata.rb +112 -46
  171. data/lib/active_support/messages/rotation_configuration.rb +2 -1
  172. data/lib/active_support/messages/rotation_coordinator.rb +93 -0
  173. data/lib/active_support/messages/rotator.rb +35 -32
  174. data/lib/active_support/messages/serializer_with_fallback.rb +158 -0
  175. data/lib/active_support/multibyte/chars.rb +15 -52
  176. data/lib/active_support/multibyte/unicode.rb +8 -122
  177. data/lib/active_support/multibyte.rb +1 -1
  178. data/lib/active_support/notifications/fanout.rb +310 -105
  179. data/lib/active_support/notifications/instrumenter.rb +113 -48
  180. data/lib/active_support/notifications.rb +56 -29
  181. data/lib/active_support/number_helper/number_converter.rb +15 -8
  182. data/lib/active_support/number_helper/number_to_currency_converter.rb +11 -6
  183. data/lib/active_support/number_helper/number_to_delimited_converter.rb +1 -1
  184. data/lib/active_support/number_helper/number_to_human_converter.rb +1 -1
  185. data/lib/active_support/number_helper/number_to_human_size_converter.rb +5 -5
  186. data/lib/active_support/number_helper/number_to_phone_converter.rb +2 -1
  187. data/lib/active_support/number_helper/number_to_rounded_converter.rb +9 -5
  188. data/lib/active_support/number_helper/rounding_helper.rb +12 -32
  189. data/lib/active_support/number_helper.rb +379 -304
  190. data/lib/active_support/option_merger.rb +11 -18
  191. data/lib/active_support/ordered_hash.rb +4 -4
  192. data/lib/active_support/ordered_options.rb +23 -3
  193. data/lib/active_support/parameter_filter.rb +104 -75
  194. data/lib/active_support/proxy_object.rb +2 -0
  195. data/lib/active_support/rails.rb +1 -4
  196. data/lib/active_support/railtie.rb +90 -6
  197. data/lib/active_support/reloader.rb +12 -4
  198. data/lib/active_support/rescuable.rb +18 -16
  199. data/lib/active_support/ruby_features.rb +7 -0
  200. data/lib/active_support/secure_compare_rotator.rb +58 -0
  201. data/lib/active_support/security_utils.rb +19 -12
  202. data/lib/active_support/string_inquirer.rb +5 -3
  203. data/lib/active_support/subscriber.rb +23 -47
  204. data/lib/active_support/syntax_error_proxy.rb +70 -0
  205. data/lib/active_support/tagged_logging.rb +84 -23
  206. data/lib/active_support/test_case.rb +166 -27
  207. data/lib/active_support/testing/assertions.rb +73 -20
  208. data/lib/active_support/testing/autorun.rb +0 -2
  209. data/lib/active_support/testing/constant_stubbing.rb +32 -0
  210. data/lib/active_support/testing/deprecation.rb +53 -2
  211. data/lib/active_support/testing/error_reporter_assertions.rb +107 -0
  212. data/lib/active_support/testing/isolation.rb +30 -29
  213. data/lib/active_support/testing/method_call_assertions.rb +24 -11
  214. data/lib/active_support/testing/parallelization/server.rb +82 -0
  215. data/lib/active_support/testing/parallelization/worker.rb +103 -0
  216. data/lib/active_support/testing/parallelization.rb +16 -95
  217. data/lib/active_support/testing/parallelize_executor.rb +81 -0
  218. data/lib/active_support/testing/stream.rb +4 -6
  219. data/lib/active_support/testing/strict_warnings.rb +39 -0
  220. data/lib/active_support/testing/tagged_logging.rb +1 -1
  221. data/lib/active_support/testing/time_helpers.rb +89 -19
  222. data/lib/active_support/time_with_zone.rb +105 -70
  223. data/lib/active_support/values/time_zone.rb +59 -26
  224. data/lib/active_support/version.rb +1 -1
  225. data/lib/active_support/xml_mini/jdom.rb +4 -11
  226. data/lib/active_support/xml_mini/libxml.rb +5 -5
  227. data/lib/active_support/xml_mini/libxmlsax.rb +1 -1
  228. data/lib/active_support/xml_mini/nokogiri.rb +5 -5
  229. data/lib/active_support/xml_mini/nokogirisax.rb +2 -2
  230. data/lib/active_support/xml_mini/rexml.rb +9 -2
  231. data/lib/active_support/xml_mini.rb +7 -6
  232. data/lib/active_support.rb +40 -1
  233. metadata +127 -40
  234. data/lib/active_support/core_ext/array/prepend_and_append.rb +0 -5
  235. data/lib/active_support/core_ext/hash/compact.rb +0 -5
  236. data/lib/active_support/core_ext/hash/transform_values.rb +0 -5
  237. data/lib/active_support/core_ext/marshal.rb +0 -24
  238. data/lib/active_support/core_ext/module/reachable.rb +0 -6
  239. data/lib/active_support/core_ext/numeric/inquiry.rb +0 -5
  240. data/lib/active_support/core_ext/range/include_range.rb +0 -9
  241. data/lib/active_support/core_ext/range/include_time_with_zone.rb +0 -23
  242. data/lib/active_support/core_ext/range/overlaps.rb +0 -10
  243. data/lib/active_support/core_ext/uri.rb +0 -25
  244. data/lib/active_support/dependencies/zeitwerk_integration.rb +0 -117
  245. data/lib/active_support/per_thread_registry.rb +0 -60
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: 6.0.6.1
4
+ version: 7.1.3.2
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: 2023-01-17 00:00:00.000000000 Z
11
+ date: 2024-02-21 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: i18n
@@ -16,7 +16,7 @@ dependencies:
16
16
  requirements:
17
17
  - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: '0.7'
19
+ version: '1.6'
20
20
  - - "<"
21
21
  - !ruby/object:Gem::Version
22
22
  version: '2'
@@ -26,7 +26,7 @@ dependencies:
26
26
  requirements:
27
27
  - - ">="
28
28
  - !ruby/object:Gem::Version
29
- version: '0.7'
29
+ version: '1.6'
30
30
  - - "<"
31
31
  - !ruby/object:Gem::Version
32
32
  version: '2'
@@ -36,68 +36,118 @@ dependencies:
36
36
  requirements:
37
37
  - - "~>"
38
38
  - !ruby/object:Gem::Version
39
- version: '1.1'
39
+ version: '2.0'
40
40
  type: :runtime
41
41
  prerelease: false
42
42
  version_requirements: !ruby/object:Gem::Requirement
43
43
  requirements:
44
44
  - - "~>"
45
45
  - !ruby/object:Gem::Version
46
- version: '1.1'
46
+ version: '2.0'
47
47
  - !ruby/object:Gem::Dependency
48
- name: minitest
48
+ name: concurrent-ruby
49
49
  requirement: !ruby/object:Gem::Requirement
50
50
  requirements:
51
51
  - - "~>"
52
52
  - !ruby/object:Gem::Version
53
- version: '5.1'
53
+ version: '1.0'
54
+ - - ">="
55
+ - !ruby/object:Gem::Version
56
+ version: 1.0.2
54
57
  type: :runtime
55
58
  prerelease: false
56
59
  version_requirements: !ruby/object:Gem::Requirement
57
60
  requirements:
58
61
  - - "~>"
59
62
  - !ruby/object:Gem::Version
60
- version: '5.1'
63
+ version: '1.0'
64
+ - - ">="
65
+ - !ruby/object:Gem::Version
66
+ version: 1.0.2
61
67
  - !ruby/object:Gem::Dependency
62
- name: concurrent-ruby
68
+ name: connection_pool
63
69
  requirement: !ruby/object:Gem::Requirement
64
70
  requirements:
65
- - - "~>"
71
+ - - ">="
66
72
  - !ruby/object:Gem::Version
67
- version: '1.0'
73
+ version: 2.2.5
74
+ type: :runtime
75
+ prerelease: false
76
+ version_requirements: !ruby/object:Gem::Requirement
77
+ requirements:
68
78
  - - ">="
69
79
  - !ruby/object:Gem::Version
70
- version: 1.0.2
80
+ version: 2.2.5
81
+ - !ruby/object:Gem::Dependency
82
+ name: minitest
83
+ requirement: !ruby/object:Gem::Requirement
84
+ requirements:
85
+ - - ">="
86
+ - !ruby/object:Gem::Version
87
+ version: '5.1'
71
88
  type: :runtime
72
89
  prerelease: false
73
90
  version_requirements: !ruby/object:Gem::Requirement
74
91
  requirements:
75
- - - "~>"
92
+ - - ">="
76
93
  - !ruby/object:Gem::Version
77
- version: '1.0'
94
+ version: '5.1'
95
+ - !ruby/object:Gem::Dependency
96
+ name: base64
97
+ requirement: !ruby/object:Gem::Requirement
98
+ requirements:
78
99
  - - ">="
79
100
  - !ruby/object:Gem::Version
80
- version: 1.0.2
101
+ version: '0'
102
+ type: :runtime
103
+ prerelease: false
104
+ version_requirements: !ruby/object:Gem::Requirement
105
+ requirements:
106
+ - - ">="
107
+ - !ruby/object:Gem::Version
108
+ version: '0'
81
109
  - !ruby/object:Gem::Dependency
82
- name: zeitwerk
110
+ name: drb
83
111
  requirement: !ruby/object:Gem::Requirement
84
112
  requirements:
85
- - - "~>"
113
+ - - ">="
114
+ - !ruby/object:Gem::Version
115
+ version: '0'
116
+ type: :runtime
117
+ prerelease: false
118
+ version_requirements: !ruby/object:Gem::Requirement
119
+ requirements:
120
+ - - ">="
86
121
  - !ruby/object:Gem::Version
87
- version: '2.2'
122
+ version: '0'
123
+ - !ruby/object:Gem::Dependency
124
+ name: mutex_m
125
+ requirement: !ruby/object:Gem::Requirement
126
+ requirements:
88
127
  - - ">="
89
128
  - !ruby/object:Gem::Version
90
- version: 2.2.2
129
+ version: '0'
91
130
  type: :runtime
92
131
  prerelease: false
93
132
  version_requirements: !ruby/object:Gem::Requirement
94
133
  requirements:
95
- - - "~>"
134
+ - - ">="
135
+ - !ruby/object:Gem::Version
136
+ version: '0'
137
+ - !ruby/object:Gem::Dependency
138
+ name: bigdecimal
139
+ requirement: !ruby/object:Gem::Requirement
140
+ requirements:
141
+ - - ">="
96
142
  - !ruby/object:Gem::Version
97
- version: '2.2'
143
+ version: '0'
144
+ type: :runtime
145
+ prerelease: false
146
+ version_requirements: !ruby/object:Gem::Requirement
147
+ requirements:
98
148
  - - ">="
99
149
  - !ruby/object:Gem::Version
100
- version: 2.2.2
150
+ version: '0'
101
151
  description: A toolkit of support libraries and Ruby core extensions extracted from
102
152
  the Rails framework. Rich support for multibyte strings, internationalization, time
103
153
  zones, and testing.
@@ -115,20 +165,27 @@ files:
115
165
  - lib/active_support/array_inquirer.rb
116
166
  - lib/active_support/backtrace_cleaner.rb
117
167
  - lib/active_support/benchmarkable.rb
168
+ - lib/active_support/broadcast_logger.rb
118
169
  - lib/active_support/builder.rb
119
170
  - lib/active_support/cache.rb
171
+ - lib/active_support/cache/coder.rb
172
+ - lib/active_support/cache/entry.rb
120
173
  - lib/active_support/cache/file_store.rb
121
174
  - lib/active_support/cache/mem_cache_store.rb
122
175
  - lib/active_support/cache/memory_store.rb
123
176
  - lib/active_support/cache/null_store.rb
124
177
  - lib/active_support/cache/redis_cache_store.rb
178
+ - lib/active_support/cache/serializer_with_fallback.rb
125
179
  - lib/active_support/cache/strategy/local_cache.rb
126
180
  - lib/active_support/cache/strategy/local_cache_middleware.rb
127
181
  - lib/active_support/callbacks.rb
182
+ - lib/active_support/code_generator.rb
128
183
  - lib/active_support/concern.rb
129
184
  - lib/active_support/concurrency/load_interlock_aware_monitor.rb
185
+ - lib/active_support/concurrency/null_lock.rb
130
186
  - lib/active_support/concurrency/share_lock.rb
131
187
  - lib/active_support/configurable.rb
188
+ - lib/active_support/configuration_file.rb
132
189
  - lib/active_support/core_ext.rb
133
190
  - lib/active_support/core_ext/array.rb
134
191
  - lib/active_support/core_ext/array/access.rb
@@ -137,7 +194,6 @@ files:
137
194
  - lib/active_support/core_ext/array/extract_options.rb
138
195
  - lib/active_support/core_ext/array/grouping.rb
139
196
  - lib/active_support/core_ext/array/inquiry.rb
140
- - lib/active_support/core_ext/array/prepend_and_append.rb
141
197
  - lib/active_support/core_ext/array/wrap.rb
142
198
  - lib/active_support/core_ext/benchmark.rb
143
199
  - lib/active_support/core_ext/big_decimal.rb
@@ -164,10 +220,10 @@ files:
164
220
  - lib/active_support/core_ext/digest.rb
165
221
  - lib/active_support/core_ext/digest/uuid.rb
166
222
  - lib/active_support/core_ext/enumerable.rb
223
+ - lib/active_support/core_ext/erb/util.rb
167
224
  - lib/active_support/core_ext/file.rb
168
225
  - lib/active_support/core_ext/file/atomic.rb
169
226
  - lib/active_support/core_ext/hash.rb
170
- - lib/active_support/core_ext/hash/compact.rb
171
227
  - lib/active_support/core_ext/hash/conversions.rb
172
228
  - lib/active_support/core_ext/hash/deep_merge.rb
173
229
  - lib/active_support/core_ext/hash/deep_transform_values.rb
@@ -176,7 +232,6 @@ files:
176
232
  - lib/active_support/core_ext/hash/keys.rb
177
233
  - lib/active_support/core_ext/hash/reverse_merge.rb
178
234
  - lib/active_support/core_ext/hash/slice.rb
179
- - lib/active_support/core_ext/hash/transform_values.rb
180
235
  - lib/active_support/core_ext/integer.rb
181
236
  - lib/active_support/core_ext/integer/inflections.rb
182
237
  - lib/active_support/core_ext/integer/multiple.rb
@@ -186,7 +241,6 @@ files:
186
241
  - lib/active_support/core_ext/kernel/reporting.rb
187
242
  - lib/active_support/core_ext/kernel/singleton_class.rb
188
243
  - lib/active_support/core_ext/load_error.rb
189
- - lib/active_support/core_ext/marshal.rb
190
244
  - lib/active_support/core_ext/module.rb
191
245
  - lib/active_support/core_ext/module/aliasing.rb
192
246
  - lib/active_support/core_ext/module/anonymous.rb
@@ -197,14 +251,12 @@ files:
197
251
  - lib/active_support/core_ext/module/delegation.rb
198
252
  - lib/active_support/core_ext/module/deprecation.rb
199
253
  - lib/active_support/core_ext/module/introspection.rb
200
- - lib/active_support/core_ext/module/reachable.rb
201
254
  - lib/active_support/core_ext/module/redefine_method.rb
202
255
  - lib/active_support/core_ext/module/remove_method.rb
203
256
  - lib/active_support/core_ext/name_error.rb
204
257
  - lib/active_support/core_ext/numeric.rb
205
258
  - lib/active_support/core_ext/numeric/bytes.rb
206
259
  - lib/active_support/core_ext/numeric/conversions.rb
207
- - lib/active_support/core_ext/numeric/inquiry.rb
208
260
  - lib/active_support/core_ext/numeric/time.rb
209
261
  - lib/active_support/core_ext/object.rb
210
262
  - lib/active_support/core_ext/object/acts_like.rb
@@ -218,14 +270,16 @@ files:
218
270
  - lib/active_support/core_ext/object/to_param.rb
219
271
  - lib/active_support/core_ext/object/to_query.rb
220
272
  - lib/active_support/core_ext/object/try.rb
273
+ - lib/active_support/core_ext/object/with.rb
221
274
  - lib/active_support/core_ext/object/with_options.rb
275
+ - lib/active_support/core_ext/pathname.rb
276
+ - lib/active_support/core_ext/pathname/blank.rb
277
+ - lib/active_support/core_ext/pathname/existence.rb
222
278
  - lib/active_support/core_ext/range.rb
223
279
  - lib/active_support/core_ext/range/compare_range.rb
224
280
  - lib/active_support/core_ext/range/conversions.rb
225
281
  - lib/active_support/core_ext/range/each.rb
226
- - lib/active_support/core_ext/range/include_range.rb
227
- - lib/active_support/core_ext/range/include_time_with_zone.rb
228
- - lib/active_support/core_ext/range/overlaps.rb
282
+ - lib/active_support/core_ext/range/overlap.rb
229
283
  - lib/active_support/core_ext/regexp.rb
230
284
  - lib/active_support/core_ext/securerandom.rb
231
285
  - lib/active_support/core_ext/string.rb
@@ -242,25 +296,32 @@ files:
242
296
  - lib/active_support/core_ext/string/starts_ends_with.rb
243
297
  - lib/active_support/core_ext/string/strip.rb
244
298
  - lib/active_support/core_ext/string/zones.rb
299
+ - lib/active_support/core_ext/symbol.rb
300
+ - lib/active_support/core_ext/symbol/starts_ends_with.rb
301
+ - lib/active_support/core_ext/thread/backtrace/location.rb
245
302
  - lib/active_support/core_ext/time.rb
246
303
  - lib/active_support/core_ext/time/acts_like.rb
247
304
  - lib/active_support/core_ext/time/calculations.rb
248
305
  - lib/active_support/core_ext/time/compatibility.rb
249
306
  - lib/active_support/core_ext/time/conversions.rb
250
307
  - lib/active_support/core_ext/time/zones.rb
251
- - lib/active_support/core_ext/uri.rb
252
308
  - lib/active_support/current_attributes.rb
309
+ - lib/active_support/current_attributes/test_helper.rb
310
+ - lib/active_support/deep_mergeable.rb
253
311
  - lib/active_support/dependencies.rb
254
312
  - lib/active_support/dependencies/autoload.rb
255
313
  - lib/active_support/dependencies/interlock.rb
256
- - lib/active_support/dependencies/zeitwerk_integration.rb
314
+ - lib/active_support/dependencies/require_dependency.rb
257
315
  - lib/active_support/deprecation.rb
258
316
  - lib/active_support/deprecation/behaviors.rb
259
317
  - lib/active_support/deprecation/constant_accessor.rb
318
+ - lib/active_support/deprecation/deprecators.rb
319
+ - lib/active_support/deprecation/disallowed.rb
260
320
  - lib/active_support/deprecation/instance_delegator.rb
261
321
  - lib/active_support/deprecation/method_wrappers.rb
262
322
  - lib/active_support/deprecation/proxy_wrappers.rb
263
323
  - lib/active_support/deprecation/reporting.rb
324
+ - lib/active_support/deprecator.rb
264
325
  - lib/active_support/descendants_tracker.rb
265
326
  - lib/active_support/digest.rb
266
327
  - lib/active_support/duration.rb
@@ -268,13 +329,21 @@ files:
268
329
  - lib/active_support/duration/iso8601_serializer.rb
269
330
  - lib/active_support/encrypted_configuration.rb
270
331
  - lib/active_support/encrypted_file.rb
332
+ - lib/active_support/environment_inquirer.rb
333
+ - lib/active_support/error_reporter.rb
334
+ - lib/active_support/error_reporter/test_helper.rb
271
335
  - lib/active_support/evented_file_update_checker.rb
336
+ - lib/active_support/execution_context.rb
337
+ - lib/active_support/execution_context/test_helper.rb
272
338
  - lib/active_support/execution_wrapper.rb
273
339
  - lib/active_support/executor.rb
340
+ - lib/active_support/executor/test_helper.rb
274
341
  - lib/active_support/file_update_checker.rb
342
+ - lib/active_support/fork_tracker.rb
275
343
  - lib/active_support/gem_version.rb
276
344
  - lib/active_support/gzip.rb
277
345
  - lib/active_support/hash_with_indifferent_access.rb
346
+ - lib/active_support/html_safe_translation.rb
278
347
  - lib/active_support/i18n.rb
279
348
  - lib/active_support/i18n_railtie.rb
280
349
  - lib/active_support/inflections.rb
@@ -282,6 +351,7 @@ files:
282
351
  - lib/active_support/inflector/inflections.rb
283
352
  - lib/active_support/inflector/methods.rb
284
353
  - lib/active_support/inflector/transliterate.rb
354
+ - lib/active_support/isolated_execution_state.rb
285
355
  - lib/active_support/json.rb
286
356
  - lib/active_support/json/decoding.rb
287
357
  - lib/active_support/json/encoding.rb
@@ -295,10 +365,19 @@ files:
295
365
  - lib/active_support/logger_silence.rb
296
366
  - lib/active_support/logger_thread_safe_level.rb
297
367
  - lib/active_support/message_encryptor.rb
368
+ - lib/active_support/message_encryptors.rb
369
+ - lib/active_support/message_pack.rb
370
+ - lib/active_support/message_pack/cache_serializer.rb
371
+ - lib/active_support/message_pack/extensions.rb
372
+ - lib/active_support/message_pack/serializer.rb
298
373
  - lib/active_support/message_verifier.rb
374
+ - lib/active_support/message_verifiers.rb
375
+ - lib/active_support/messages/codec.rb
299
376
  - lib/active_support/messages/metadata.rb
300
377
  - lib/active_support/messages/rotation_configuration.rb
378
+ - lib/active_support/messages/rotation_coordinator.rb
301
379
  - lib/active_support/messages/rotator.rb
380
+ - lib/active_support/messages/serializer_with_fallback.rb
302
381
  - lib/active_support/multibyte.rb
303
382
  - lib/active_support/multibyte/chars.rb
304
383
  - lib/active_support/multibyte/unicode.rb
@@ -319,28 +398,36 @@ files:
319
398
  - lib/active_support/ordered_hash.rb
320
399
  - lib/active_support/ordered_options.rb
321
400
  - lib/active_support/parameter_filter.rb
322
- - lib/active_support/per_thread_registry.rb
323
401
  - lib/active_support/proxy_object.rb
324
402
  - lib/active_support/rails.rb
325
403
  - lib/active_support/railtie.rb
326
404
  - lib/active_support/reloader.rb
327
405
  - lib/active_support/rescuable.rb
406
+ - lib/active_support/ruby_features.rb
407
+ - lib/active_support/secure_compare_rotator.rb
328
408
  - lib/active_support/security_utils.rb
329
409
  - lib/active_support/string_inquirer.rb
330
410
  - lib/active_support/subscriber.rb
411
+ - lib/active_support/syntax_error_proxy.rb
331
412
  - lib/active_support/tagged_logging.rb
332
413
  - lib/active_support/test_case.rb
333
414
  - lib/active_support/testing/assertions.rb
334
415
  - lib/active_support/testing/autorun.rb
335
416
  - lib/active_support/testing/constant_lookup.rb
417
+ - lib/active_support/testing/constant_stubbing.rb
336
418
  - lib/active_support/testing/declarative.rb
337
419
  - lib/active_support/testing/deprecation.rb
420
+ - lib/active_support/testing/error_reporter_assertions.rb
338
421
  - lib/active_support/testing/file_fixtures.rb
339
422
  - lib/active_support/testing/isolation.rb
340
423
  - lib/active_support/testing/method_call_assertions.rb
341
424
  - lib/active_support/testing/parallelization.rb
425
+ - lib/active_support/testing/parallelization/server.rb
426
+ - lib/active_support/testing/parallelization/worker.rb
427
+ - lib/active_support/testing/parallelize_executor.rb
342
428
  - lib/active_support/testing/setup_and_teardown.rb
343
429
  - lib/active_support/testing/stream.rb
430
+ - lib/active_support/testing/strict_warnings.rb
344
431
  - lib/active_support/testing/tagged_logging.rb
345
432
  - lib/active_support/testing/time_helpers.rb
346
433
  - lib/active_support/time.rb
@@ -359,10 +446,10 @@ licenses:
359
446
  - MIT
360
447
  metadata:
361
448
  bug_tracker_uri: https://github.com/rails/rails/issues
362
- changelog_uri: https://github.com/rails/rails/blob/v6.0.6.1/activesupport/CHANGELOG.md
363
- documentation_uri: https://api.rubyonrails.org/v6.0.6.1/
449
+ changelog_uri: https://github.com/rails/rails/blob/v7.1.3.2/activesupport/CHANGELOG.md
450
+ documentation_uri: https://api.rubyonrails.org/v7.1.3.2/
364
451
  mailing_list_uri: https://discuss.rubyonrails.org/c/rubyonrails-talk
365
- source_code_uri: https://github.com/rails/rails/tree/v6.0.6.1/activesupport
452
+ source_code_uri: https://github.com/rails/rails/tree/v7.1.3.2/activesupport
366
453
  rubygems_mfa_required: 'true'
367
454
  post_install_message:
368
455
  rdoc_options:
@@ -374,14 +461,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
374
461
  requirements:
375
462
  - - ">="
376
463
  - !ruby/object:Gem::Version
377
- version: 2.5.0
464
+ version: 2.7.0
378
465
  required_rubygems_version: !ruby/object:Gem::Requirement
379
466
  requirements:
380
467
  - - ">="
381
468
  - !ruby/object:Gem::Version
382
469
  version: '0'
383
470
  requirements: []
384
- rubygems_version: 3.4.3
471
+ rubygems_version: 3.5.3
385
472
  signing_key:
386
473
  specification_version: 4
387
474
  summary: A toolkit of support libraries and Ruby core extensions extracted from the
@@ -1,5 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require "active_support/deprecation"
4
-
5
- ActiveSupport::Deprecation.warn "Ruby 2.5+ (required by Rails 6) provides Array#append and Array#prepend natively, so requiring active_support/core_ext/array/prepend_and_append is no longer necessary. Requiring it will raise LoadError in Rails 6.1."
@@ -1,5 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require "active_support/deprecation"
4
-
5
- ActiveSupport::Deprecation.warn "Ruby 2.5+ (required by Rails 6) provides Hash#compact and Hash#compact! natively, so requiring active_support/core_ext/hash/compact is no longer necessary. Requiring it will raise LoadError in Rails 6.1."
@@ -1,5 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require "active_support/deprecation"
4
-
5
- ActiveSupport::Deprecation.warn "Ruby 2.5+ (required by Rails 6) provides Hash#transform_values natively, so requiring active_support/core_ext/hash/transform_values is no longer necessary. Requiring it will raise LoadError in Rails 6.1."
@@ -1,24 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module ActiveSupport
4
- module MarshalWithAutoloading # :nodoc:
5
- def load(source, proc = nil)
6
- super(source, proc)
7
- rescue ArgumentError, NameError => exc
8
- if exc.message.match(%r|undefined class/module (.+?)(?:::)?\z|)
9
- # try loading the class/module
10
- loaded = $1.constantize
11
-
12
- raise unless $1 == loaded.name
13
-
14
- # if it is an IO we need to go back to read the object
15
- source.rewind if source.respond_to?(:rewind)
16
- retry
17
- else
18
- raise exc
19
- end
20
- end
21
- end
22
- end
23
-
24
- Marshal.singleton_class.prepend(ActiveSupport::MarshalWithAutoloading)
@@ -1,6 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require "active_support/core_ext/module/anonymous"
4
- require "active_support/core_ext/string/inflections"
5
-
6
- ActiveSupport::Deprecation.warn("reachable is deprecated and will be removed from the framework.")
@@ -1,5 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require "active_support/deprecation"
4
-
5
- ActiveSupport::Deprecation.warn "Ruby 2.5+ (required by Rails 6) provides Numeric#positive? and Numeric#negative? natively, so requiring active_support/core_ext/numeric/inquiry is no longer necessary. Requiring it will raise LoadError in Rails 6.1."
@@ -1,9 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require "active_support/deprecation"
4
-
5
- ActiveSupport::Deprecation.warn "You have required `active_support/core_ext/range/include_range`. " \
6
- "This file will be removed in Rails 6.1. You should require `active_support/core_ext/range/compare_range` " \
7
- "instead."
8
-
9
- require "active_support/core_ext/range/compare_range"
@@ -1,23 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require "active_support/time_with_zone"
4
-
5
- module ActiveSupport
6
- module IncludeTimeWithZone #:nodoc:
7
- # Extends the default Range#include? to support ActiveSupport::TimeWithZone.
8
- #
9
- # (1.hour.ago..1.hour.from_now).include?(Time.current) # => true
10
- #
11
- def include?(value)
12
- if self.begin.is_a?(TimeWithZone)
13
- cover?(value)
14
- elsif self.end.is_a?(TimeWithZone)
15
- cover?(value)
16
- else
17
- super
18
- end
19
- end
20
- end
21
- end
22
-
23
- Range.prepend(ActiveSupport::IncludeTimeWithZone)
@@ -1,10 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- class Range
4
- # Compare two ranges and see if they overlap each other
5
- # (1..5).overlaps?(4..6) # => true
6
- # (1..5).overlaps?(7..9) # => false
7
- def overlaps?(other)
8
- cover?(other.first) || other.cover?(first)
9
- end
10
- end
@@ -1,25 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require "uri"
4
-
5
- if RUBY_VERSION < "2.6.0"
6
- require "active_support/core_ext/module/redefine_method"
7
- URI::Parser.class_eval do
8
- silence_redefinition_of_method :unescape
9
- def unescape(str, escaped = /%[a-fA-F\d]{2}/)
10
- # TODO: Are we actually sure that ASCII == UTF-8?
11
- # YK: My initial experiments say yes, but let's be sure please
12
- enc = str.encoding
13
- enc = Encoding::UTF_8 if enc == Encoding::US_ASCII
14
- str.dup.force_encoding(Encoding::ASCII_8BIT).gsub(escaped) { |match| [match[1, 2].hex].pack("C") }.force_encoding(enc)
15
- end
16
- end
17
- end
18
-
19
- module URI
20
- class << self
21
- def parser
22
- @parser ||= URI::Parser.new
23
- end
24
- end
25
- end
@@ -1,117 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require "set"
4
- require "active_support/core_ext/string/inflections"
5
-
6
- module ActiveSupport
7
- module Dependencies
8
- module ZeitwerkIntegration # :nodoc: all
9
- module Decorations
10
- def clear
11
- Dependencies.unload_interlock do
12
- Rails.autoloaders.main.reload
13
- rescue Zeitwerk::ReloadingDisabledError
14
- raise "reloading is disabled because config.cache_classes is true"
15
- end
16
- end
17
-
18
- def constantize(cpath)
19
- ActiveSupport::Inflector.constantize(cpath)
20
- end
21
-
22
- def safe_constantize(cpath)
23
- ActiveSupport::Inflector.safe_constantize(cpath)
24
- end
25
-
26
- def autoloaded_constants
27
- Rails.autoloaders.main.unloadable_cpaths
28
- end
29
-
30
- def autoloaded?(object)
31
- cpath = object.is_a?(Module) ? real_mod_name(object) : object.to_s
32
- Rails.autoloaders.main.unloadable_cpath?(cpath)
33
- end
34
-
35
- def verbose=(verbose)
36
- l = verbose ? logger || Rails.logger : nil
37
- Rails.autoloaders.each { |autoloader| autoloader.logger = l }
38
- end
39
-
40
- def unhook!
41
- :no_op
42
- end
43
- end
44
-
45
- module RequireDependency
46
- def require_dependency(filename)
47
- filename = filename.to_path if filename.respond_to?(:to_path)
48
- if abspath = ActiveSupport::Dependencies.search_for_file(filename)
49
- require abspath
50
- else
51
- require filename
52
- end
53
- end
54
- end
55
-
56
- module Inflector
57
- # Concurrent::Map is not needed. This is a private class, and overrides
58
- # must be defined while the application boots.
59
- @overrides = {}
60
-
61
- def self.camelize(basename, _abspath)
62
- @overrides[basename] || basename.camelize
63
- end
64
-
65
- def self.inflect(overrides)
66
- @overrides.merge!(overrides)
67
- end
68
- end
69
-
70
- class << self
71
- def take_over(enable_reloading:)
72
- setup_autoloaders(enable_reloading)
73
- freeze_paths
74
- decorate_dependencies
75
- end
76
-
77
- private
78
- def setup_autoloaders(enable_reloading)
79
- Dependencies.autoload_paths.each do |autoload_path|
80
- # Zeitwerk only accepts existing directories in `push_dir` to
81
- # prevent misconfigurations.
82
- next unless File.directory?(autoload_path)
83
-
84
- autoloader = \
85
- autoload_once?(autoload_path) ? Rails.autoloaders.once : Rails.autoloaders.main
86
-
87
- autoloader.push_dir(autoload_path)
88
- autoloader.do_not_eager_load(autoload_path) unless eager_load?(autoload_path)
89
- end
90
-
91
- Rails.autoloaders.main.enable_reloading if enable_reloading
92
- Rails.autoloaders.each(&:setup)
93
- end
94
-
95
- def autoload_once?(autoload_path)
96
- Dependencies.autoload_once_paths.include?(autoload_path)
97
- end
98
-
99
- def eager_load?(autoload_path)
100
- Dependencies._eager_load_paths.member?(autoload_path)
101
- end
102
-
103
- def freeze_paths
104
- Dependencies.autoload_paths.freeze
105
- Dependencies.autoload_once_paths.freeze
106
- Dependencies._eager_load_paths.freeze
107
- end
108
-
109
- def decorate_dependencies
110
- Dependencies.unhook!
111
- Dependencies.singleton_class.prepend(Decorations)
112
- Object.prepend(RequireDependency)
113
- end
114
- end
115
- end
116
- end
117
- end