packwerk 2.2.2 → 3.0.0
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.
- checksums.yaml +4 -4
- data/.github/workflows/ci.yml +2 -5
- data/.ruby-version +1 -1
- data/Gemfile +0 -1
- data/Gemfile.lock +5 -95
- data/README.md +2 -7
- data/RESOLVING_VIOLATIONS.md +7 -7
- data/TROUBLESHOOT.md +1 -23
- data/USAGE.md +149 -59
- data/dev.yml +1 -1
- data/exe/packwerk +1 -0
- data/gemfiles/Gemfile-rails-6-1 +1 -1
- data/lib/packwerk/application_validator.rb +54 -285
- data/lib/packwerk/association_inspector.rb +2 -0
- data/lib/packwerk/cache.rb +6 -5
- data/lib/packwerk/checker.rb +54 -0
- data/lib/packwerk/cli/result.rb +11 -0
- data/lib/packwerk/cli.rb +56 -31
- data/lib/packwerk/configuration.rb +61 -40
- data/lib/packwerk/const_node_inspector.rb +2 -0
- data/lib/packwerk/constant_context.rb +8 -0
- data/lib/packwerk/constant_discovery.rb +5 -6
- data/lib/packwerk/constant_name_inspector.rb +2 -0
- data/lib/packwerk/disable_sorbet.rb +41 -0
- data/lib/packwerk/extension_loader.rb +24 -0
- data/lib/packwerk/file_processor.rb +3 -1
- data/lib/packwerk/files_for_processing.rb +25 -12
- data/lib/packwerk/formatters/default_offenses_formatter.rb +77 -0
- data/lib/packwerk/formatters/progress_formatter.rb +31 -12
- data/lib/packwerk/generators/configuration_file.rb +7 -2
- data/lib/packwerk/generators/root_package.rb +5 -1
- data/lib/packwerk/generators/templates/package.yml +0 -10
- data/lib/packwerk/graph.rb +10 -2
- data/lib/packwerk/node.rb +1 -1
- data/lib/packwerk/node_helpers.rb +14 -7
- data/lib/packwerk/node_processor.rb +2 -0
- data/lib/packwerk/node_processor_factory.rb +6 -4
- data/lib/packwerk/node_visitor.rb +10 -1
- data/lib/packwerk/offense_collection.rb +43 -23
- data/lib/packwerk/offenses_formatter.rb +59 -2
- data/lib/packwerk/package.rb +7 -35
- data/lib/packwerk/package_set.rb +1 -1
- data/lib/packwerk/{deprecated_references.rb → package_todo.rb} +29 -13
- data/lib/packwerk/parse_run.rb +29 -36
- data/lib/packwerk/parsed_constant_definitions.rb +28 -5
- data/lib/packwerk/parsers/erb.rb +23 -4
- data/lib/packwerk/parsers/factory.rb +11 -2
- data/lib/packwerk/parsers/parser_interface.rb +1 -1
- data/lib/packwerk/parsers/ruby.rb +13 -3
- data/lib/packwerk/parsers.rb +6 -2
- data/lib/packwerk/{application_load_paths.rb → rails_load_paths.rb} +6 -4
- data/lib/packwerk/reference.rb +7 -1
- data/lib/packwerk/reference_checking/checkers/dependency_checker.rb +29 -6
- data/lib/packwerk/reference_checking/reference_checker.rb +1 -1
- data/lib/packwerk/reference_extractor.rb +24 -12
- data/lib/packwerk/reference_offense.rb +2 -2
- data/lib/packwerk/run_context.rb +7 -10
- data/lib/packwerk/spring_command.rb +11 -2
- data/lib/packwerk/unresolved_reference.rb +9 -1
- data/lib/packwerk/validator/result.rb +18 -0
- data/lib/packwerk/validator.rb +90 -0
- data/lib/packwerk/validators/dependency_validator.rb +154 -0
- data/lib/packwerk/version.rb +1 -1
- data/lib/packwerk.rb +64 -26
- data/packwerk.gemspec +4 -2
- data/sorbet/rbi/gems/{zeitwerk@2.6.0.rbi → zeitwerk@2.6.4.rbi} +291 -228
- data/sorbet/rbi/shims/minitest/test.rb +8 -0
- data/sorbet/rbi/shims/packwerk/reference.rbi +33 -0
- data/sorbet/rbi/shims/packwerk/unresolved_reference.rbi +33 -0
- data/sorbet/rbi/shims/parser.rbi +13 -0
- metadata +35 -16
- data/lib/packwerk/formatters/offenses_formatter.rb +0 -52
- data/lib/packwerk/reference_checking/checkers/checker.rb +0 -34
- data/lib/packwerk/reference_checking/checkers/privacy_checker.rb +0 -76
- data/lib/packwerk/result.rb +0 -9
- data/lib/packwerk/sanity_checker.rb +0 -8
- data/lib/packwerk/violation_type.rb +0 -11
- data/sorbet/rbi/gems/html_tokenizer@0.0.7.rbi +0 -46
- data/sorbet/rbi/gems/mini_portile2@2.8.0.rbi +0 -8
@@ -4,32 +4,30 @@
|
|
4
4
|
# This is an autogenerated file for types exported from the `zeitwerk` gem.
|
5
5
|
# Please instead update this file by running `bin/tapioca gem zeitwerk`.
|
6
6
|
|
7
|
-
#
|
8
|
-
#
|
9
|
-
# source://zeitwerk-2.6.0/lib/zeitwerk/kernel.rb:3
|
7
|
+
# source://zeitwerk-2.6.4/lib/zeitwerk/kernel.rb:3
|
10
8
|
module Kernel
|
11
9
|
private
|
12
10
|
|
13
|
-
# source://zeitwerk-2.6.
|
11
|
+
# source://zeitwerk-2.6.4/lib/zeitwerk/kernel.rb:27
|
14
12
|
def require(path); end
|
15
13
|
|
16
14
|
class << self
|
17
|
-
# source://zeitwerk-2.6.
|
15
|
+
# source://zeitwerk-2.6.4/lib/zeitwerk/kernel.rb:27
|
18
16
|
def require(path); end
|
19
17
|
end
|
20
18
|
end
|
21
19
|
|
22
|
-
# source://zeitwerk-2.6.
|
20
|
+
# source://zeitwerk-2.6.4/lib/zeitwerk.rb:3
|
23
21
|
module Zeitwerk
|
24
22
|
class << self
|
25
23
|
# This is a dangerous method.
|
26
24
|
#
|
27
|
-
# source://zeitwerk-2.6.
|
25
|
+
# source://zeitwerk-2.6.4/lib/zeitwerk.rb:20
|
28
26
|
def with_loader; end
|
29
27
|
end
|
30
28
|
end
|
31
29
|
|
32
|
-
# source://zeitwerk-2.6.
|
30
|
+
# source://zeitwerk-2.6.4/lib/zeitwerk/error.rb:4
|
33
31
|
class Zeitwerk::Error < ::StandardError; end
|
34
32
|
|
35
33
|
# Centralizes the logic for the trace point used to detect the creation of
|
@@ -40,7 +38,7 @@ class Zeitwerk::Error < ::StandardError; end
|
|
40
38
|
# Loaders that reopen namespaces owned by other projects are responsible for
|
41
39
|
# loading their constant before setup. This is documented.
|
42
40
|
#
|
43
|
-
# source://zeitwerk-2.6.
|
41
|
+
# source://zeitwerk-2.6.4/lib/zeitwerk/explicit_namespace.rb:11
|
44
42
|
module Zeitwerk::ExplicitNamespace
|
45
43
|
extend ::Zeitwerk::RealModName
|
46
44
|
|
@@ -50,12 +48,12 @@ module Zeitwerk::ExplicitNamespace
|
|
50
48
|
#
|
51
49
|
# @private
|
52
50
|
#
|
53
|
-
# source://zeitwerk-2.6.
|
51
|
+
# source://zeitwerk-2.6.4/lib/zeitwerk/explicit_namespace.rb:20
|
54
52
|
def cpaths; end
|
55
53
|
|
56
54
|
# @private
|
57
55
|
#
|
58
|
-
# source://zeitwerk-2.6.
|
56
|
+
# source://zeitwerk-2.6.4/lib/zeitwerk/explicit_namespace.rb:24
|
59
57
|
def mutex; end
|
60
58
|
|
61
59
|
# Asserts `cpath` corresponds to an explicit namespace for which `loader`
|
@@ -63,66 +61,66 @@ module Zeitwerk::ExplicitNamespace
|
|
63
61
|
#
|
64
62
|
# @private
|
65
63
|
#
|
66
|
-
# source://zeitwerk-2.6.
|
64
|
+
# source://zeitwerk-2.6.4/lib/zeitwerk/explicit_namespace.rb:35
|
67
65
|
def register(cpath, loader); end
|
68
66
|
|
69
67
|
# @private
|
70
68
|
#
|
71
|
-
# source://zeitwerk-2.6.
|
69
|
+
# source://zeitwerk-2.6.4/lib/zeitwerk/explicit_namespace.rb:28
|
72
70
|
def tracer; end
|
73
71
|
|
74
72
|
# @private
|
75
73
|
#
|
76
|
-
# source://zeitwerk-2.6.
|
74
|
+
# source://zeitwerk-2.6.4/lib/zeitwerk/explicit_namespace.rb:46
|
77
75
|
def unregister_loader(loader); end
|
78
76
|
|
79
77
|
private
|
80
78
|
|
81
|
-
# source://zeitwerk-2.6.
|
79
|
+
# source://zeitwerk-2.6.4/lib/zeitwerk/explicit_namespace.rb:54
|
82
80
|
def disable_tracer_if_unneeded; end
|
83
81
|
|
84
|
-
# source://zeitwerk-2.6.
|
82
|
+
# source://zeitwerk-2.6.4/lib/zeitwerk/explicit_namespace.rb:61
|
85
83
|
def tracepoint_class_callback(event); end
|
86
84
|
end
|
87
85
|
end
|
88
86
|
|
89
|
-
# source://zeitwerk-2.6.
|
87
|
+
# source://zeitwerk-2.6.4/lib/zeitwerk/gem_inflector.rb:5
|
90
88
|
class Zeitwerk::GemInflector < ::Zeitwerk::Inflector
|
91
89
|
# @return [GemInflector] a new instance of GemInflector
|
92
90
|
#
|
93
|
-
# source://zeitwerk-2.6.
|
91
|
+
# source://zeitwerk-2.6.4/lib/zeitwerk/gem_inflector.rb:6
|
94
92
|
def initialize(root_file); end
|
95
93
|
|
96
|
-
# source://zeitwerk-2.6.
|
94
|
+
# source://zeitwerk-2.6.4/lib/zeitwerk/gem_inflector.rb:13
|
97
95
|
def camelize(basename, abspath); end
|
98
96
|
end
|
99
97
|
|
100
98
|
# @private
|
101
99
|
#
|
102
|
-
# source://zeitwerk-2.6.
|
100
|
+
# source://zeitwerk-2.6.4/lib/zeitwerk/gem_loader.rb:7
|
103
101
|
class Zeitwerk::GemLoader < ::Zeitwerk::Loader
|
104
102
|
# @return [GemLoader] a new instance of GemLoader
|
105
103
|
#
|
106
|
-
# source://zeitwerk-2.6.
|
104
|
+
# source://zeitwerk-2.6.4/lib/zeitwerk/gem_loader.rb:17
|
107
105
|
def initialize(root_file, warn_on_extra_files:); end
|
108
106
|
|
109
|
-
# source://zeitwerk-2.6.
|
107
|
+
# source://zeitwerk-2.6.4/lib/zeitwerk/gem_loader.rb:30
|
110
108
|
def setup; end
|
111
109
|
|
112
110
|
private
|
113
111
|
|
114
|
-
# source://zeitwerk-2.6.
|
112
|
+
# source://zeitwerk-2.6.4/lib/zeitwerk/gem_loader.rb:38
|
115
113
|
def warn_on_extra_files; end
|
116
114
|
|
117
115
|
class << self
|
118
116
|
# @private
|
119
117
|
#
|
120
|
-
# source://zeitwerk-2.6.
|
118
|
+
# source://zeitwerk-2.6.4/lib/zeitwerk/gem_loader.rb:12
|
121
119
|
def _new(root_file, warn_on_extra_files:); end
|
122
120
|
end
|
123
121
|
end
|
124
122
|
|
125
|
-
# source://zeitwerk-2.6.
|
123
|
+
# source://zeitwerk-2.6.4/lib/zeitwerk/inflector.rb:4
|
126
124
|
class Zeitwerk::Inflector
|
127
125
|
# Very basic snake case -> camel case conversion.
|
128
126
|
#
|
@@ -133,7 +131,7 @@ class Zeitwerk::Inflector
|
|
133
131
|
#
|
134
132
|
# Takes into account hard-coded mappings configured with `inflect`.
|
135
133
|
#
|
136
|
-
# source://zeitwerk-2.6.
|
134
|
+
# source://zeitwerk-2.6.4/lib/zeitwerk/inflector.rb:15
|
137
135
|
def camelize(basename, _abspath); end
|
138
136
|
|
139
137
|
# Configures hard-coded inflections:
|
@@ -148,7 +146,7 @@ class Zeitwerk::Inflector
|
|
148
146
|
# inflector.camelize("mysql_adapter", abspath) # => "MySQLAdapter"
|
149
147
|
# inflector.camelize("users_controller", abspath) # => "UsersController"
|
150
148
|
#
|
151
|
-
# source://zeitwerk-2.6.
|
149
|
+
# source://zeitwerk-2.6.4/lib/zeitwerk/inflector.rb:32
|
152
150
|
def inflect(inflections); end
|
153
151
|
|
154
152
|
private
|
@@ -156,20 +154,29 @@ class Zeitwerk::Inflector
|
|
156
154
|
# Hard-coded basename to constant name user maps that override the default
|
157
155
|
# inflection logic.
|
158
156
|
#
|
159
|
-
# source://zeitwerk-2.6.
|
157
|
+
# source://zeitwerk-2.6.4/lib/zeitwerk/inflector.rb:42
|
160
158
|
def overrides; end
|
161
159
|
end
|
162
160
|
|
163
|
-
#
|
161
|
+
# This is a private module.
|
162
|
+
#
|
163
|
+
# source://zeitwerk-2.6.4/lib/zeitwerk/internal.rb:4
|
164
|
+
module Zeitwerk::Internal
|
165
|
+
# source://zeitwerk-2.6.4/lib/zeitwerk/internal.rb:5
|
166
|
+
def internal(method_name); end
|
167
|
+
end
|
168
|
+
|
169
|
+
# source://zeitwerk-2.6.4/lib/zeitwerk/loader.rb:6
|
164
170
|
class Zeitwerk::Loader
|
165
171
|
include ::Zeitwerk::RealModName
|
166
172
|
include ::Zeitwerk::Loader::Callbacks
|
167
173
|
include ::Zeitwerk::Loader::Helpers
|
168
174
|
include ::Zeitwerk::Loader::Config
|
175
|
+
include ::Zeitwerk::Loader::EagerLoad
|
169
176
|
|
170
177
|
# @return [Loader] a new instance of Loader
|
171
178
|
#
|
172
|
-
# source://zeitwerk-2.6.
|
179
|
+
# source://zeitwerk-2.6.4/lib/zeitwerk/loader.rb:96
|
173
180
|
def initialize; end
|
174
181
|
|
175
182
|
# We keep track of autoloaded directories to remove them from the registry
|
@@ -180,7 +187,7 @@ class Zeitwerk::Loader
|
|
180
187
|
#
|
181
188
|
# @private
|
182
189
|
#
|
183
|
-
# source://zeitwerk-2.6.
|
190
|
+
# source://zeitwerk-2.6.4/lib/zeitwerk/loader.rb:41
|
184
191
|
def autoloaded_dirs; end
|
185
192
|
|
186
193
|
# Maps absolute paths for which an autoload has been set ---and not
|
@@ -193,19 +200,20 @@ class Zeitwerk::Loader
|
|
193
200
|
#
|
194
201
|
# @private
|
195
202
|
#
|
196
|
-
# source://zeitwerk-2.6.
|
203
|
+
# source://zeitwerk-2.6.4/lib/zeitwerk/loader.rb:31
|
197
204
|
def autoloads; end
|
198
205
|
|
199
|
-
#
|
200
|
-
# need to be in `$LOAD_PATH`, absolute file names are used. Ignored files
|
201
|
-
# are not eager loaded. You can opt-out specifically in specific files and
|
202
|
-
# directories with `do_not_eager_load`, and that can be overridden passing
|
203
|
-
# `force: true`.
|
206
|
+
# @private
|
204
207
|
#
|
205
|
-
# source://zeitwerk-2.6.
|
206
|
-
def
|
208
|
+
# source://zeitwerk-2.6.4/lib/zeitwerk/loader.rb:90
|
209
|
+
def mutex; end
|
207
210
|
|
208
|
-
#
|
211
|
+
# @private
|
212
|
+
#
|
213
|
+
# source://zeitwerk-2.6.4/lib/zeitwerk/loader.rb:94
|
214
|
+
def mutex2; end
|
215
|
+
|
216
|
+
# Maps namespace constant paths to their respective directories.
|
209
217
|
#
|
210
218
|
# For example, given this mapping:
|
211
219
|
#
|
@@ -215,24 +223,14 @@ class Zeitwerk::Loader
|
|
215
223
|
# ...
|
216
224
|
# ]
|
217
225
|
#
|
218
|
-
# when `Admin` gets defined we know that it plays the role of a namespace
|
219
|
-
# that its children are spread over those directories. We'll visit them
|
220
|
-
# up the corresponding autoloads.
|
221
|
-
#
|
222
|
-
# @private
|
223
|
-
#
|
224
|
-
# source://zeitwerk-2.6.0/lib/zeitwerk/loader.rb:73
|
225
|
-
def lazy_subdirs; end
|
226
|
-
|
227
|
-
# @private
|
226
|
+
# when `Admin` gets defined we know that it plays the role of a namespace
|
227
|
+
# and that its children are spread over those directories. We'll visit them
|
228
|
+
# to set up the corresponding autoloads.
|
228
229
|
#
|
229
|
-
# source://zeitwerk-2.6.0/lib/zeitwerk/loader.rb:77
|
230
|
-
def mutex; end
|
231
|
-
|
232
230
|
# @private
|
233
231
|
#
|
234
|
-
# source://zeitwerk-2.6.
|
235
|
-
def
|
232
|
+
# source://zeitwerk-2.6.4/lib/zeitwerk/loader.rb:75
|
233
|
+
def namespace_dirs; end
|
236
234
|
|
237
235
|
# Unloads all loaded code, and calls setup again so that the loader is able
|
238
236
|
# to pick any changes in the file system.
|
@@ -242,14 +240,35 @@ class Zeitwerk::Loader
|
|
242
240
|
#
|
243
241
|
# @raise [Zeitwerk::Error]
|
244
242
|
#
|
245
|
-
# source://zeitwerk-2.6.
|
243
|
+
# source://zeitwerk-2.6.4/lib/zeitwerk/loader.rb:217
|
246
244
|
def reload; end
|
247
245
|
|
248
246
|
# Sets autoloads in the root namespace.
|
249
247
|
#
|
250
|
-
# source://zeitwerk-2.6.
|
248
|
+
# source://zeitwerk-2.6.4/lib/zeitwerk/loader.rb:115
|
251
249
|
def setup; end
|
252
250
|
|
251
|
+
# The return value of this predicate is only meaningful if the loader has
|
252
|
+
# scanned the file. This is the case in the spots where we use it.
|
253
|
+
#
|
254
|
+
# @private
|
255
|
+
# @return [Boolean]
|
256
|
+
#
|
257
|
+
# source://zeitwerk-2.6.4/lib/zeitwerk/loader.rb:256
|
258
|
+
def shadowed_file?(file); end
|
259
|
+
|
260
|
+
# A shadowed file is a file managed by this loader that is ignored when
|
261
|
+
# setting autoloads because its matching constant is already taken.
|
262
|
+
#
|
263
|
+
# This private set is populated as we descend. For example, if the loader
|
264
|
+
# has only scanned the top-level, `shadowed_files` does not have shadowed
|
265
|
+
# files that may exist deep in the project tree yet.
|
266
|
+
#
|
267
|
+
# @private
|
268
|
+
#
|
269
|
+
# source://zeitwerk-2.6.4/lib/zeitwerk/loader.rb:86
|
270
|
+
def shadowed_files; end
|
271
|
+
|
253
272
|
# Stores metadata needed for unloading. Its entries look like this:
|
254
273
|
#
|
255
274
|
# "Admin::Role" => [".../admin/role.rb", [Admin, :Role]]
|
@@ -264,7 +283,7 @@ class Zeitwerk::Loader
|
|
264
283
|
#
|
265
284
|
# @private
|
266
285
|
#
|
267
|
-
# source://zeitwerk-2.6.
|
286
|
+
# source://zeitwerk-2.6.4/lib/zeitwerk/loader.rb:57
|
268
287
|
def to_unload; end
|
269
288
|
|
270
289
|
# Removes loaded constants and configured autoloads.
|
@@ -278,7 +297,7 @@ class Zeitwerk::Loader
|
|
278
297
|
# means `unload` + `setup`. This one is avaiable to be used together with
|
279
298
|
# `unregister`, which is undocumented too.
|
280
299
|
#
|
281
|
-
# source://zeitwerk-2.6.
|
300
|
+
# source://zeitwerk-2.6.4/lib/zeitwerk/loader.rb:141
|
282
301
|
def unload; end
|
283
302
|
|
284
303
|
# Says if the given constant path would be unloaded on reload. This
|
@@ -286,84 +305,89 @@ class Zeitwerk::Loader
|
|
286
305
|
#
|
287
306
|
# @return [Boolean]
|
288
307
|
#
|
289
|
-
# source://zeitwerk-2.6.
|
308
|
+
# source://zeitwerk-2.6.4/lib/zeitwerk/loader.rb:230
|
290
309
|
def unloadable_cpath?(cpath); end
|
291
310
|
|
292
311
|
# Returns an array with the constant paths that would be unloaded on reload.
|
293
312
|
# This predicate returns an empty array if reloading is disabled.
|
294
313
|
#
|
295
|
-
# source://zeitwerk-2.6.
|
314
|
+
# source://zeitwerk-2.6.4/lib/zeitwerk/loader.rb:238
|
296
315
|
def unloadable_cpaths; end
|
297
316
|
|
298
317
|
# This is a dangerous method.
|
299
318
|
#
|
300
|
-
# source://zeitwerk-2.6.
|
319
|
+
# source://zeitwerk-2.6.4/lib/zeitwerk/loader.rb:246
|
301
320
|
def unregister; end
|
302
321
|
|
303
322
|
private
|
304
323
|
|
305
|
-
# source://zeitwerk-2.6.
|
324
|
+
# source://zeitwerk-2.6.4/lib/zeitwerk/loader.rb:370
|
306
325
|
def autoload_file(parent, cname, file); end
|
307
326
|
|
308
327
|
# @return [Boolean]
|
309
328
|
#
|
310
|
-
# source://zeitwerk-2.6.
|
329
|
+
# source://zeitwerk-2.6.4/lib/zeitwerk/loader.rb:428
|
311
330
|
def autoload_path_set_by_me_for?(parent, cname); end
|
312
331
|
|
313
|
-
# source://zeitwerk-2.6.
|
332
|
+
# source://zeitwerk-2.6.4/lib/zeitwerk/loader.rb:349
|
314
333
|
def autoload_subdir(parent, cname, subdir); end
|
315
334
|
|
316
335
|
# `dir` is the directory that would have autovivified a namespace. `file` is
|
317
336
|
# the file where we've found the namespace is explicitly defined.
|
318
337
|
#
|
319
|
-
# source://zeitwerk-2.6.
|
338
|
+
# source://zeitwerk-2.6.4/lib/zeitwerk/loader.rb:396
|
320
339
|
def promote_namespace_from_implicit_to_explicit(dir:, file:, parent:, cname:); end
|
321
340
|
|
322
|
-
# source://zeitwerk-2.6.
|
341
|
+
# source://zeitwerk-2.6.4/lib/zeitwerk/loader.rb:442
|
323
342
|
def raise_if_conflicting_directory(dir); end
|
324
343
|
|
325
|
-
# source://zeitwerk-2.6.
|
344
|
+
# source://zeitwerk-2.6.4/lib/zeitwerk/loader.rb:437
|
326
345
|
def register_explicit_namespace(cpath); end
|
327
346
|
|
328
|
-
# source://zeitwerk-2.6.
|
347
|
+
# source://zeitwerk-2.6.4/lib/zeitwerk/loader.rb:467
|
329
348
|
def run_on_unload_callbacks(cpath, value, abspath); end
|
330
349
|
|
331
|
-
# source://zeitwerk-2.6.
|
350
|
+
# source://zeitwerk-2.6.4/lib/zeitwerk/loader.rb:407
|
332
351
|
def set_autoload(parent, cname, abspath); end
|
333
352
|
|
334
|
-
# source://zeitwerk-2.6.
|
353
|
+
# source://zeitwerk-2.6.4/lib/zeitwerk/loader.rb:314
|
335
354
|
def set_autoloads_in_dir(dir, parent); end
|
336
355
|
|
337
|
-
# source://zeitwerk-2.6.
|
356
|
+
# source://zeitwerk-2.6.4/lib/zeitwerk/loader.rb:474
|
338
357
|
def unload_autoload(parent, cname); end
|
339
358
|
|
340
|
-
# source://zeitwerk-2.6.
|
359
|
+
# source://zeitwerk-2.6.4/lib/zeitwerk/loader.rb:480
|
341
360
|
def unload_cref(parent, cname); end
|
342
361
|
|
343
362
|
class << self
|
344
363
|
# Returns an array with the absolute paths of the root directories of all
|
345
364
|
# registered loaders. This is a read-only collection.
|
346
365
|
#
|
347
|
-
# source://zeitwerk-2.6.
|
366
|
+
# source://zeitwerk-2.6.4/lib/zeitwerk/loader.rb:306
|
348
367
|
def all_dirs; end
|
349
368
|
|
350
369
|
# Returns the value of attribute default_logger.
|
351
370
|
#
|
352
|
-
# source://zeitwerk-2.6.
|
371
|
+
# source://zeitwerk-2.6.4/lib/zeitwerk/loader.rb:264
|
353
372
|
def default_logger; end
|
354
373
|
|
355
374
|
# Sets the attribute default_logger
|
356
375
|
#
|
357
376
|
# @param value the value to set the attribute default_logger to.
|
358
377
|
#
|
359
|
-
# source://zeitwerk-2.6.
|
378
|
+
# source://zeitwerk-2.6.4/lib/zeitwerk/loader.rb:264
|
360
379
|
def default_logger=(_arg0); end
|
361
380
|
|
362
381
|
# Broadcasts `eager_load` to all loaders.
|
363
382
|
#
|
364
|
-
# source://zeitwerk-2.6.
|
383
|
+
# source://zeitwerk-2.6.4/lib/zeitwerk/loader.rb:289
|
365
384
|
def eager_load_all; end
|
366
385
|
|
386
|
+
# Broadcasts `eager_load_namespace` to all loaders.
|
387
|
+
#
|
388
|
+
# source://zeitwerk-2.6.4/lib/zeitwerk/loader.rb:296
|
389
|
+
def eager_load_namespace(mod); end
|
390
|
+
|
367
391
|
# This is a shortcut for
|
368
392
|
#
|
369
393
|
# require "zeitwerk"
|
@@ -378,12 +402,12 @@ class Zeitwerk::Loader
|
|
378
402
|
# This method returns a subclass of Zeitwerk::Loader, but the exact type
|
379
403
|
# is private, client code can only rely on the interface.
|
380
404
|
#
|
381
|
-
# source://zeitwerk-2.6.
|
405
|
+
# source://zeitwerk-2.6.4/lib/zeitwerk/loader.rb:281
|
382
406
|
def for_gem(warn_on_extra_files: T.unsafe(nil)); end
|
383
407
|
end
|
384
408
|
end
|
385
409
|
|
386
|
-
# source://zeitwerk-2.6.
|
410
|
+
# source://zeitwerk-2.6.4/lib/zeitwerk/loader/callbacks.rb:3
|
387
411
|
module Zeitwerk::Loader::Callbacks
|
388
412
|
include ::Zeitwerk::RealModName
|
389
413
|
|
@@ -392,14 +416,14 @@ module Zeitwerk::Loader::Callbacks
|
|
392
416
|
#
|
393
417
|
# @private
|
394
418
|
#
|
395
|
-
# source://zeitwerk-2.6.
|
419
|
+
# source://zeitwerk-2.6.4/lib/zeitwerk/loader/callbacks.rb:34
|
396
420
|
def on_dir_autoloaded(dir); end
|
397
421
|
|
398
422
|
# Invoked from our decorated Kernel#require when a managed file is autoloaded.
|
399
423
|
#
|
400
424
|
# @private
|
401
425
|
#
|
402
|
-
# source://zeitwerk-2.6.
|
426
|
+
# source://zeitwerk-2.6.4/lib/zeitwerk/loader/callbacks.rb:10
|
403
427
|
def on_file_autoloaded(file); end
|
404
428
|
|
405
429
|
# Invoked when a class or module is created or reopened, either from the
|
@@ -408,122 +432,88 @@ module Zeitwerk::Loader::Callbacks
|
|
408
432
|
#
|
409
433
|
# @private
|
410
434
|
#
|
411
|
-
# source://zeitwerk-2.6.
|
435
|
+
# source://zeitwerk-2.6.4/lib/zeitwerk/loader/callbacks.rb:73
|
412
436
|
def on_namespace_loaded(namespace); end
|
413
437
|
|
414
438
|
private
|
415
439
|
|
416
|
-
# source://zeitwerk-2.6.
|
440
|
+
# source://zeitwerk-2.6.4/lib/zeitwerk/loader/callbacks.rb:84
|
417
441
|
def run_on_load_callbacks(cpath, value, abspath); end
|
418
442
|
end
|
419
443
|
|
420
|
-
# source://zeitwerk-2.6.
|
444
|
+
# source://zeitwerk-2.6.4/lib/zeitwerk/loader/config.rb:6
|
421
445
|
module Zeitwerk::Loader::Config
|
422
|
-
|
446
|
+
extend ::Zeitwerk::Internal
|
447
|
+
|
448
|
+
# source://zeitwerk-2.6.4/lib/zeitwerk/loader/config.rb:84
|
423
449
|
def initialize; end
|
424
450
|
|
451
|
+
# source://zeitwerk-2.6.4/lib/zeitwerk/loader/config.rb:281
|
452
|
+
def __ignores?(abspath); end
|
453
|
+
|
454
|
+
def __roots; end
|
455
|
+
|
425
456
|
# Configure directories or glob patterns to be collapsed.
|
426
457
|
#
|
427
|
-
# source://zeitwerk-2.6.
|
458
|
+
# source://zeitwerk-2.6.4/lib/zeitwerk/loader/config.rb:201
|
428
459
|
def collapse(*glob_patterns); end
|
429
460
|
|
430
|
-
#
|
431
|
-
#
|
432
|
-
#
|
433
|
-
#
|
434
|
-
#
|
435
|
-
# source://zeitwerk-2.6.0/lib/zeitwerk/loader/config.rb:51
|
436
|
-
def collapse_dirs; end
|
437
|
-
|
438
|
-
# Absolute paths of directories or glob patterns to be collapsed.
|
439
|
-
#
|
440
|
-
# @private
|
461
|
+
# If `namespaces` is falsey (default), returns an array with the absolute
|
462
|
+
# paths of the root directories as strings. If truthy, returns a hash table
|
463
|
+
# instead. Keys are the absolute paths of the root directories as strings,
|
464
|
+
# values are their corresponding namespaces, class or module objects.
|
441
465
|
#
|
442
|
-
#
|
443
|
-
def collapse_glob_patterns; end
|
444
|
-
|
445
|
-
# Absolute paths of the root directories. This is a read-only collection,
|
446
|
-
# please push here via `push_dir`.
|
466
|
+
# These are read-only collections, please add to them with `push_dir`.
|
447
467
|
#
|
448
|
-
# source://zeitwerk-2.6.
|
449
|
-
def dirs; end
|
468
|
+
# source://zeitwerk-2.6.4/lib/zeitwerk/loader/config.rb:149
|
469
|
+
def dirs(namespaces: T.unsafe(nil)); end
|
450
470
|
|
451
471
|
# Let eager load ignore the given files or directories. The constants defined
|
452
472
|
# in those files are still autoloadable.
|
453
473
|
#
|
454
|
-
# source://zeitwerk-2.6.
|
474
|
+
# source://zeitwerk-2.6.4/lib/zeitwerk/loader/config.rb:183
|
455
475
|
def do_not_eager_load(*paths); end
|
456
476
|
|
457
|
-
# Absolute paths of files or directories not to be eager loaded.
|
458
|
-
#
|
459
|
-
# @private
|
460
|
-
#
|
461
|
-
# source://zeitwerk-2.6.0/lib/zeitwerk/loader/config.rb:57
|
462
|
-
def eager_load_exclusions; end
|
463
|
-
|
464
477
|
# You need to call this method before setup in order to be able to reload.
|
465
478
|
# There is no way to undo this, either you want to reload or you don't.
|
466
479
|
#
|
467
480
|
# @raise [Zeitwerk::Error]
|
468
481
|
#
|
469
|
-
# source://zeitwerk-2.6.
|
482
|
+
# source://zeitwerk-2.6.4/lib/zeitwerk/loader/config.rb:162
|
470
483
|
def enable_reloading; end
|
471
484
|
|
472
485
|
# Configure files, directories, or glob patterns to be totally ignored.
|
473
486
|
#
|
474
|
-
# source://zeitwerk-2.6.
|
487
|
+
# source://zeitwerk-2.6.4/lib/zeitwerk/loader/config.rb:190
|
475
488
|
def ignore(*glob_patterns); end
|
476
489
|
|
477
|
-
# Absolute paths of files, directories, or glob patterns to be totally
|
478
|
-
# ignored.
|
479
|
-
#
|
480
|
-
# @private
|
481
|
-
#
|
482
|
-
# source://zeitwerk-2.6.0/lib/zeitwerk/loader/config.rb:30
|
483
|
-
def ignored_glob_patterns; end
|
484
|
-
|
485
|
-
# The actual collection of absolute file and directory names at the time the
|
486
|
-
# ignored glob patterns were expanded. Computed on setup, and recomputed on
|
487
|
-
# reload.
|
488
|
-
#
|
489
|
-
# @private
|
490
|
-
#
|
491
|
-
# source://zeitwerk-2.6.0/lib/zeitwerk/loader/config.rb:38
|
492
|
-
def ignored_paths; end
|
493
|
-
|
494
|
-
# @private
|
495
|
-
# @return [Boolean]
|
496
|
-
#
|
497
|
-
# source://zeitwerk-2.6.0/lib/zeitwerk/loader/config.rb:269
|
498
|
-
def ignores?(abspath); end
|
499
|
-
|
500
490
|
# Returns the value of attribute inflector.
|
501
491
|
#
|
502
|
-
# source://zeitwerk-2.6.
|
492
|
+
# source://zeitwerk-2.6.4/lib/zeitwerk/loader/config.rb:10
|
503
493
|
def inflector; end
|
504
494
|
|
505
495
|
# Sets the attribute inflector
|
506
496
|
#
|
507
497
|
# @param value the value to set the attribute inflector to.
|
508
498
|
#
|
509
|
-
# source://zeitwerk-2.6.
|
499
|
+
# source://zeitwerk-2.6.4/lib/zeitwerk/loader/config.rb:10
|
510
500
|
def inflector=(_arg0); end
|
511
501
|
|
512
502
|
# Logs to `$stdout`, handy shortcut for debugging.
|
513
503
|
#
|
514
|
-
# source://zeitwerk-2.6.
|
504
|
+
# source://zeitwerk-2.6.4/lib/zeitwerk/loader/config.rb:273
|
515
505
|
def log!; end
|
516
506
|
|
517
507
|
# Returns the value of attribute logger.
|
518
508
|
#
|
519
|
-
# source://zeitwerk-2.6.
|
509
|
+
# source://zeitwerk-2.6.4/lib/zeitwerk/loader/config.rb:13
|
520
510
|
def logger; end
|
521
511
|
|
522
512
|
# Sets the attribute logger
|
523
513
|
#
|
524
514
|
# @param value the value to set the attribute logger to.
|
525
515
|
#
|
526
|
-
# source://zeitwerk-2.6.
|
516
|
+
# source://zeitwerk-2.6.4/lib/zeitwerk/loader/config.rb:13
|
527
517
|
def logger=(_arg0); end
|
528
518
|
|
529
519
|
# Configure a block to be invoked once a certain constant path is loaded.
|
@@ -542,29 +532,15 @@ module Zeitwerk::Loader::Config
|
|
542
532
|
#
|
543
533
|
# @raise [TypeError]
|
544
534
|
#
|
545
|
-
# source://zeitwerk-2.6.
|
535
|
+
# source://zeitwerk-2.6.4/lib/zeitwerk/loader/config.rb:237
|
546
536
|
def on_load(cpath = T.unsafe(nil), &block); end
|
547
537
|
|
548
|
-
# User-oriented callbacks to be fired when a constant is loaded.
|
549
|
-
#
|
550
|
-
# @private
|
551
|
-
#
|
552
|
-
# source://zeitwerk-2.6.0/lib/zeitwerk/loader/config.rb:70
|
553
|
-
def on_load_callbacks; end
|
554
|
-
|
555
538
|
# Configure a block to be called after setup and on each reload.
|
556
539
|
# If setup was already done, the block runs immediately.
|
557
540
|
#
|
558
|
-
# source://zeitwerk-2.6.
|
541
|
+
# source://zeitwerk-2.6.4/lib/zeitwerk/loader/config.rb:213
|
559
542
|
def on_setup(&block); end
|
560
543
|
|
561
|
-
# User-oriented callbacks to be fired on setup and on reload.
|
562
|
-
#
|
563
|
-
# @private
|
564
|
-
#
|
565
|
-
# source://zeitwerk-2.6.0/lib/zeitwerk/loader/config.rb:63
|
566
|
-
def on_setup_callbacks; end
|
567
|
-
|
568
544
|
# Configure a block to be invoked right before a certain constant is removed.
|
569
545
|
# Supports multiple callbacks, and if there are many, they are executed in the
|
570
546
|
# order in which they were defined.
|
@@ -581,16 +557,9 @@ module Zeitwerk::Loader::Config
|
|
581
557
|
#
|
582
558
|
# @raise [TypeError]
|
583
559
|
#
|
584
|
-
# source://zeitwerk-2.6.
|
560
|
+
# source://zeitwerk-2.6.4/lib/zeitwerk/loader/config.rb:262
|
585
561
|
def on_unload(cpath = T.unsafe(nil), &block); end
|
586
562
|
|
587
|
-
# User-oriented callbacks to be fired before constants are removed.
|
588
|
-
#
|
589
|
-
# @private
|
590
|
-
#
|
591
|
-
# source://zeitwerk-2.6.0/lib/zeitwerk/loader/config.rb:77
|
592
|
-
def on_unload_callbacks; end
|
593
|
-
|
594
563
|
# Pushes `path` to the list of root directories.
|
595
564
|
#
|
596
565
|
# Raises `Zeitwerk::Error` if `path` does not exist, or if another loader in
|
@@ -599,142 +568,236 @@ module Zeitwerk::Loader::Config
|
|
599
568
|
#
|
600
569
|
# @raise [Zeitwerk::Error]
|
601
570
|
#
|
602
|
-
# source://zeitwerk-2.6.
|
571
|
+
# source://zeitwerk-2.6.4/lib/zeitwerk/loader/config.rb:109
|
603
572
|
def push_dir(path, namespace: T.unsafe(nil)); end
|
604
573
|
|
605
574
|
# @return [Boolean]
|
606
575
|
#
|
607
|
-
# source://zeitwerk-2.6.
|
576
|
+
# source://zeitwerk-2.6.4/lib/zeitwerk/loader/config.rb:175
|
608
577
|
def reloading_enabled?; end
|
609
578
|
|
610
|
-
# Absolute paths of the root directories. Stored in a hash to preserve
|
611
|
-
# order, easily handle duplicates, and also be able to have a fast lookup,
|
612
|
-
# needed for detecting nested paths.
|
613
|
-
#
|
614
|
-
# "/Users/fxn/blog/app/assets" => true,
|
615
|
-
# "/Users/fxn/blog/app/channels" => true,
|
616
|
-
# ...
|
617
|
-
#
|
618
|
-
# This is a private collection maintained by the loader. The public
|
619
|
-
# interface for it is `push_dir` and `dirs`.
|
620
|
-
#
|
621
|
-
# @private
|
622
|
-
#
|
623
|
-
# source://zeitwerk-2.6.0/lib/zeitwerk/loader/config.rb:20
|
624
|
-
def root_dirs; end
|
625
|
-
|
626
579
|
# Returns the loader's tag.
|
627
580
|
#
|
628
581
|
# Implemented as a method instead of via attr_reader for symmetry with the
|
629
582
|
# writer below.
|
630
583
|
#
|
631
|
-
# source://zeitwerk-2.6.
|
584
|
+
# source://zeitwerk-2.6.4/lib/zeitwerk/loader/config.rb:130
|
632
585
|
def tag; end
|
633
586
|
|
634
587
|
# Sets a tag for the loader, useful for logging.
|
635
588
|
#
|
636
|
-
# source://zeitwerk-2.6.
|
589
|
+
# source://zeitwerk-2.6.4/lib/zeitwerk/loader/config.rb:137
|
637
590
|
def tag=(tag); end
|
638
591
|
|
639
592
|
private
|
640
593
|
|
641
|
-
# source://zeitwerk-2.6.
|
642
|
-
def
|
594
|
+
# source://zeitwerk-2.6.4/lib/zeitwerk/loader/config.rb:294
|
595
|
+
def actual_roots; end
|
643
596
|
|
644
597
|
# @return [Boolean]
|
645
598
|
#
|
646
|
-
# source://zeitwerk-2.6.
|
599
|
+
# source://zeitwerk-2.6.4/lib/zeitwerk/loader/config.rb:319
|
647
600
|
def collapse?(dir); end
|
648
601
|
|
602
|
+
# The actual collection of absolute directory names at the time the collapse
|
603
|
+
# glob patterns were expanded. Computed on setup, and recomputed on reload.
|
604
|
+
#
|
605
|
+
# source://zeitwerk-2.6.4/lib/zeitwerk/loader/config.rb:55
|
606
|
+
def collapse_dirs; end
|
607
|
+
|
608
|
+
# Absolute paths of directories or glob patterns to be collapsed.
|
609
|
+
#
|
610
|
+
# source://zeitwerk-2.6.4/lib/zeitwerk/loader/config.rb:48
|
611
|
+
def collapse_glob_patterns; end
|
612
|
+
|
613
|
+
# Absolute paths of files or directories not to be eager loaded.
|
614
|
+
#
|
615
|
+
# source://zeitwerk-2.6.4/lib/zeitwerk/loader/config.rb:61
|
616
|
+
def eager_load_exclusions; end
|
617
|
+
|
649
618
|
# @return [Boolean]
|
650
619
|
#
|
651
|
-
# source://zeitwerk-2.6.
|
620
|
+
# source://zeitwerk-2.6.4/lib/zeitwerk/loader/config.rb:306
|
652
621
|
def excluded_from_eager_load?(abspath); end
|
653
622
|
|
654
|
-
# source://zeitwerk-2.6.
|
623
|
+
# source://zeitwerk-2.6.4/lib/zeitwerk/loader/config.rb:329
|
655
624
|
def expand_glob_patterns(glob_patterns); end
|
656
625
|
|
657
|
-
# source://zeitwerk-2.6.
|
626
|
+
# source://zeitwerk-2.6.4/lib/zeitwerk/loader/config.rb:324
|
658
627
|
def expand_paths(paths); end
|
659
628
|
|
660
|
-
#
|
629
|
+
# Absolute paths of files, directories, or glob patterns to be totally
|
630
|
+
# ignored.
|
631
|
+
#
|
632
|
+
# source://zeitwerk-2.6.4/lib/zeitwerk/loader/config.rb:34
|
633
|
+
def ignored_glob_patterns; end
|
634
|
+
|
635
|
+
# The actual collection of absolute file and directory names at the time the
|
636
|
+
# ignored glob patterns were expanded. Computed on setup, and recomputed on
|
637
|
+
# reload.
|
638
|
+
#
|
639
|
+
# source://zeitwerk-2.6.4/lib/zeitwerk/loader/config.rb:42
|
640
|
+
def ignored_paths; end
|
641
|
+
|
642
|
+
# source://zeitwerk-2.6.4/lib/zeitwerk/loader/config.rb:281
|
643
|
+
def ignores?(abspath); end
|
644
|
+
|
645
|
+
# User-oriented callbacks to be fired when a constant is loaded.
|
646
|
+
#
|
647
|
+
# source://zeitwerk-2.6.4/lib/zeitwerk/loader/config.rb:74
|
648
|
+
def on_load_callbacks; end
|
649
|
+
|
650
|
+
# User-oriented callbacks to be fired on setup and on reload.
|
651
|
+
#
|
652
|
+
# source://zeitwerk-2.6.4/lib/zeitwerk/loader/config.rb:67
|
653
|
+
def on_setup_callbacks; end
|
654
|
+
|
655
|
+
# User-oriented callbacks to be fired before constants are removed.
|
656
|
+
#
|
657
|
+
# source://zeitwerk-2.6.4/lib/zeitwerk/loader/config.rb:81
|
658
|
+
def on_unload_callbacks; end
|
659
|
+
|
660
|
+
# source://zeitwerk-2.6.4/lib/zeitwerk/loader/config.rb:341
|
661
661
|
def recompute_collapse_dirs; end
|
662
662
|
|
663
|
-
# source://zeitwerk-2.6.
|
663
|
+
# source://zeitwerk-2.6.4/lib/zeitwerk/loader/config.rb:336
|
664
664
|
def recompute_ignored_paths; end
|
665
665
|
|
666
666
|
# @return [Boolean]
|
667
667
|
#
|
668
|
-
# source://zeitwerk-2.6.
|
668
|
+
# source://zeitwerk-2.6.4/lib/zeitwerk/loader/config.rb:301
|
669
669
|
def root_dir?(dir); end
|
670
|
+
|
671
|
+
# Absolute paths of the root directories. Stored in a hash to preserve order,
|
672
|
+
# easily handle duplicates, have a fast lookup needed for detecting nested
|
673
|
+
# paths, and store namespaces as values.
|
674
|
+
#
|
675
|
+
# "/Users/fxn/blog/app/channels" => Object,
|
676
|
+
# "/Users/fxn/blog/app/adapters" => ActiveJob::QueueAdapters,
|
677
|
+
# ...
|
678
|
+
#
|
679
|
+
# This is a private collection maintained by the loader. The public
|
680
|
+
# interface for it is `push_dir` and `dirs`.
|
681
|
+
#
|
682
|
+
# source://zeitwerk-2.6.4/lib/zeitwerk/loader/config.rb:27
|
683
|
+
def roots; end
|
670
684
|
end
|
671
685
|
|
672
|
-
# source://zeitwerk-2.6.
|
686
|
+
# source://zeitwerk-2.6.4/lib/zeitwerk/loader/eager_load.rb:1
|
687
|
+
module Zeitwerk::Loader::EagerLoad
|
688
|
+
# Eager loads all files in the root directories, recursively. Files do not
|
689
|
+
# need to be in `$LOAD_PATH`, absolute file names are used. Ignored and
|
690
|
+
# shadowed files are not eager loaded. You can opt-out specifically in
|
691
|
+
# specific files and directories with `do_not_eager_load`, and that can be
|
692
|
+
# overridden passing `force: true`.
|
693
|
+
#
|
694
|
+
# source://zeitwerk-2.6.4/lib/zeitwerk/loader/eager_load.rb:9
|
695
|
+
def eager_load(force: T.unsafe(nil)); end
|
696
|
+
|
697
|
+
# @raise [Zeitwerk::Error]
|
698
|
+
#
|
699
|
+
# source://zeitwerk-2.6.4/lib/zeitwerk/loader/eager_load.rb:31
|
700
|
+
def eager_load_dir(path); end
|
701
|
+
|
702
|
+
# source://zeitwerk-2.6.4/lib/zeitwerk/loader/eager_load.rb:69
|
703
|
+
def eager_load_namespace(mod); end
|
704
|
+
|
705
|
+
# Loads the given Ruby file.
|
706
|
+
#
|
707
|
+
# Raises if the argument is ignored, shadowed, or not managed by the receiver.
|
708
|
+
#
|
709
|
+
# The method is implemented as `constantize` for files, in a sense, to be able
|
710
|
+
# to descend orderly and make sure the file is loadable.
|
711
|
+
#
|
712
|
+
# @raise [Zeitwerk::Error]
|
713
|
+
#
|
714
|
+
# source://zeitwerk-2.6.4/lib/zeitwerk/loader/eager_load.rb:109
|
715
|
+
def load_file(path); end
|
716
|
+
|
717
|
+
private
|
718
|
+
|
719
|
+
# The caller is responsible for making sure `namespace` is the namespace that
|
720
|
+
# corresponds to `dir`.
|
721
|
+
#
|
722
|
+
# source://zeitwerk-2.6.4/lib/zeitwerk/loader/eager_load.rb:149
|
723
|
+
def actual_eager_load_dir(dir, namespace, force: T.unsafe(nil)); end
|
724
|
+
|
725
|
+
# In order to invoke this method, the caller has to ensure `child` is a
|
726
|
+
# strict namespace descendendant of `root_namespace`.
|
727
|
+
#
|
728
|
+
# source://zeitwerk-2.6.4/lib/zeitwerk/loader/eager_load.rb:184
|
729
|
+
def eager_load_child_namespace(child, child_name, root_dir, root_namespace); end
|
730
|
+
end
|
731
|
+
|
732
|
+
# source://zeitwerk-2.6.4/lib/zeitwerk/loader/helpers.rb:3
|
673
733
|
module Zeitwerk::Loader::Helpers
|
674
734
|
private
|
675
735
|
|
676
736
|
# @return [Boolean]
|
677
737
|
#
|
678
|
-
# source://zeitwerk-2.6.
|
738
|
+
# source://zeitwerk-2.6.4/lib/zeitwerk/loader/helpers.rb:130
|
679
739
|
def cdef?(parent, cname); end
|
680
740
|
|
681
741
|
# @raise [NameError]
|
682
742
|
#
|
683
|
-
# source://zeitwerk-2.6.
|
743
|
+
# source://zeitwerk-2.6.4/lib/zeitwerk/loader/helpers.rb:136
|
684
744
|
def cget(parent, cname); end
|
685
745
|
|
686
746
|
# Symbol#name was introduced in Ruby 3.0. It returns always the same
|
687
747
|
# frozen object, so we may save a few string allocations.
|
688
748
|
#
|
689
|
-
# source://zeitwerk-2.6.
|
749
|
+
# source://zeitwerk-2.6.4/lib/zeitwerk/loader/helpers.rb:120
|
690
750
|
def cpath(parent, cname); end
|
691
751
|
|
692
752
|
# @return [Boolean]
|
693
753
|
#
|
694
|
-
# source://zeitwerk-2.6.
|
754
|
+
# source://zeitwerk-2.6.4/lib/zeitwerk/loader/helpers.rb:69
|
695
755
|
def dir?(path); end
|
696
756
|
|
697
757
|
# @return [Boolean]
|
698
758
|
#
|
699
|
-
# source://zeitwerk-2.6.
|
759
|
+
# source://zeitwerk-2.6.4/lib/zeitwerk/loader/helpers.rb:47
|
700
760
|
def has_at_least_one_ruby_file?(dir); end
|
701
761
|
|
702
762
|
# @return [Boolean]
|
703
763
|
#
|
704
|
-
# source://zeitwerk-2.6.
|
764
|
+
# source://zeitwerk-2.6.4/lib/zeitwerk/loader/helpers.rb:74
|
705
765
|
def hidden?(basename); end
|
706
766
|
|
707
|
-
# source://zeitwerk-2.6.
|
767
|
+
# source://zeitwerk-2.6.4/lib/zeitwerk/loader/helpers.rb:9
|
708
768
|
def log(message); end
|
709
769
|
|
710
|
-
# source://zeitwerk-2.6.
|
770
|
+
# source://zeitwerk-2.6.4/lib/zeitwerk/loader/helpers.rb:17
|
711
771
|
def ls(dir); end
|
712
772
|
|
713
773
|
# @return [Boolean]
|
714
774
|
#
|
715
|
-
# source://zeitwerk-2.6.
|
775
|
+
# source://zeitwerk-2.6.4/lib/zeitwerk/loader/helpers.rb:64
|
716
776
|
def ruby?(path); end
|
717
777
|
|
718
|
-
# source://zeitwerk-2.6.
|
778
|
+
# source://zeitwerk-2.6.4/lib/zeitwerk/loader/helpers.rb:111
|
719
779
|
def strict_autoload_path(parent, cname); end
|
780
|
+
|
781
|
+
# source://zeitwerk-2.6.4/lib/zeitwerk/loader/helpers.rb:79
|
782
|
+
def walk_up(abspath); end
|
720
783
|
end
|
721
784
|
|
722
|
-
# source://zeitwerk-2.6.
|
785
|
+
# source://zeitwerk-2.6.4/lib/zeitwerk/loader.rb:18
|
723
786
|
Zeitwerk::Loader::MUTEX = T.let(T.unsafe(nil), Thread::Mutex)
|
724
787
|
|
725
|
-
# source://zeitwerk-2.6.
|
788
|
+
# source://zeitwerk-2.6.4/lib/zeitwerk/error.rb:13
|
726
789
|
class Zeitwerk::NameError < ::NameError; end
|
727
790
|
|
728
|
-
# source://zeitwerk-2.6.
|
791
|
+
# source://zeitwerk-2.6.4/lib/zeitwerk/real_mod_name.rb:3
|
729
792
|
module Zeitwerk::RealModName
|
730
|
-
# source://zeitwerk-2.6.
|
793
|
+
# source://zeitwerk-2.6.4/lib/zeitwerk/real_mod_name.rb:14
|
731
794
|
def real_mod_name(mod); end
|
732
795
|
end
|
733
796
|
|
734
|
-
# source://zeitwerk-2.6.
|
797
|
+
# source://zeitwerk-2.6.4/lib/zeitwerk/real_mod_name.rb:4
|
735
798
|
Zeitwerk::RealModName::UNBOUND_METHOD_MODULE_NAME = T.let(T.unsafe(nil), UnboundMethod)
|
736
799
|
|
737
|
-
# source://zeitwerk-2.6.
|
800
|
+
# source://zeitwerk-2.6.4/lib/zeitwerk/registry.rb:4
|
738
801
|
module Zeitwerk::Registry
|
739
802
|
class << self
|
740
803
|
# Maps absolute paths to the loaders responsible for them.
|
@@ -744,20 +807,20 @@ module Zeitwerk::Registry
|
|
744
807
|
#
|
745
808
|
# @private
|
746
809
|
#
|
747
|
-
# source://zeitwerk-2.6.
|
810
|
+
# source://zeitwerk-2.6.4/lib/zeitwerk/registry.rb:26
|
748
811
|
def autoloads; end
|
749
812
|
|
750
813
|
# Registers gem loaders to let `for_gem` be idempotent in case of reload.
|
751
814
|
#
|
752
815
|
# @private
|
753
816
|
#
|
754
|
-
# source://zeitwerk-2.6.
|
817
|
+
# source://zeitwerk-2.6.4/lib/zeitwerk/registry.rb:17
|
755
818
|
def gem_loaders_by_root_file; end
|
756
819
|
|
757
820
|
# @private
|
758
821
|
# @return [Boolean]
|
759
822
|
#
|
760
|
-
# source://zeitwerk-2.6.
|
823
|
+
# source://zeitwerk-2.6.4/lib/zeitwerk/registry.rb:113
|
761
824
|
def inception?(cpath); end
|
762
825
|
|
763
826
|
# This hash table addresses an edge case in which an autoload is ignored.
|
@@ -797,12 +860,12 @@ module Zeitwerk::Registry
|
|
797
860
|
#
|
798
861
|
# @private
|
799
862
|
#
|
800
|
-
# source://zeitwerk-2.6.
|
863
|
+
# source://zeitwerk-2.6.4/lib/zeitwerk/registry.rb:65
|
801
864
|
def inceptions; end
|
802
865
|
|
803
866
|
# @private
|
804
867
|
#
|
805
|
-
# source://zeitwerk-2.6.
|
868
|
+
# source://zeitwerk-2.6.4/lib/zeitwerk/registry.rb:121
|
806
869
|
def loader_for(path); end
|
807
870
|
|
808
871
|
# This method returns always a loader, the same instance for the same root
|
@@ -810,7 +873,7 @@ module Zeitwerk::Registry
|
|
810
873
|
#
|
811
874
|
# @private
|
812
875
|
#
|
813
|
-
# source://zeitwerk-2.6.
|
876
|
+
# source://zeitwerk-2.6.4/lib/zeitwerk/registry.rb:89
|
814
877
|
def loader_for_gem(root_file, warn_on_extra_files:); end
|
815
878
|
|
816
879
|
# Keeps track of all loaders. Useful to broadcast messages and to prevent
|
@@ -818,50 +881,50 @@ module Zeitwerk::Registry
|
|
818
881
|
#
|
819
882
|
# @private
|
820
883
|
#
|
821
|
-
# source://zeitwerk-2.6.
|
884
|
+
# source://zeitwerk-2.6.4/lib/zeitwerk/registry.rb:11
|
822
885
|
def loaders; end
|
823
886
|
|
824
887
|
# @private
|
825
888
|
#
|
826
|
-
# source://zeitwerk-2.6.
|
889
|
+
# source://zeitwerk-2.6.4/lib/zeitwerk/registry.rb:127
|
827
890
|
def on_unload(loader); end
|
828
891
|
|
829
892
|
# @private
|
830
893
|
#
|
831
|
-
# source://zeitwerk-2.6.
|
894
|
+
# source://zeitwerk-2.6.4/lib/zeitwerk/registry.rb:95
|
832
895
|
def register_autoload(loader, abspath); end
|
833
896
|
|
834
897
|
# @private
|
835
898
|
#
|
836
|
-
# source://zeitwerk-2.6.
|
899
|
+
# source://zeitwerk-2.6.4/lib/zeitwerk/registry.rb:107
|
837
900
|
def register_inception(cpath, abspath, loader); end
|
838
901
|
|
839
902
|
# Registers a loader.
|
840
903
|
#
|
841
904
|
# @private
|
842
905
|
#
|
843
|
-
# source://zeitwerk-2.6.
|
906
|
+
# source://zeitwerk-2.6.4/lib/zeitwerk/registry.rb:71
|
844
907
|
def register_loader(loader); end
|
845
908
|
|
846
909
|
# @private
|
847
910
|
#
|
848
|
-
# source://zeitwerk-2.6.
|
911
|
+
# source://zeitwerk-2.6.4/lib/zeitwerk/registry.rb:101
|
849
912
|
def unregister_autoload(abspath); end
|
850
913
|
|
851
914
|
# @private
|
852
915
|
#
|
853
|
-
# source://zeitwerk-2.6.
|
916
|
+
# source://zeitwerk-2.6.4/lib/zeitwerk/registry.rb:77
|
854
917
|
def unregister_loader(loader); end
|
855
918
|
end
|
856
919
|
end
|
857
920
|
|
858
|
-
# source://zeitwerk-2.6.
|
921
|
+
# source://zeitwerk-2.6.4/lib/zeitwerk/error.rb:7
|
859
922
|
class Zeitwerk::ReloadingDisabledError < ::Zeitwerk::Error
|
860
923
|
# @return [ReloadingDisabledError] a new instance of ReloadingDisabledError
|
861
924
|
#
|
862
|
-
# source://zeitwerk-2.6.
|
925
|
+
# source://zeitwerk-2.6.4/lib/zeitwerk/error.rb:8
|
863
926
|
def initialize; end
|
864
927
|
end
|
865
928
|
|
866
|
-
# source://zeitwerk-2.6.
|
929
|
+
# source://zeitwerk-2.6.4/lib/zeitwerk/version.rb:4
|
867
930
|
Zeitwerk::VERSION = T.let(T.unsafe(nil), String)
|