activesupport 6.0.6.1 → 7.1.3.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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