e621stream 0.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.
Files changed (77) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE +21 -0
  3. data/README.md +35 -0
  4. data/lib/e621stream/client/options.rb +20 -0
  5. data/lib/e621stream/client.rb +211 -0
  6. data/lib/e621stream/close_codes.rb +23 -0
  7. data/lib/e621stream/event.rb +24 -0
  8. data/lib/e621stream/events.rb +29 -0
  9. data/lib/e621stream/stream_error.rb +18 -0
  10. data/lib/e621stream/version.rb +5 -0
  11. data/lib/e621stream.rb +18 -0
  12. data/sorbet/config +6 -0
  13. data/sorbet/rbi/annotations/.gitattributes +1 -0
  14. data/sorbet/rbi/annotations/minitest.rbi +120 -0
  15. data/sorbet/rbi/annotations/rainbow.rbi +269 -0
  16. data/sorbet/rbi/gems/.gitattributes +1 -0
  17. data/sorbet/rbi/gems/ast@2.4.3.rbi +550 -0
  18. data/sorbet/rbi/gems/async-http@0.105.0.rbi +1649 -0
  19. data/sorbet/rbi/gems/async-pool@0.12.0.rbi +219 -0
  20. data/sorbet/rbi/gems/async-websocket@0.30.2.rbi +271 -0
  21. data/sorbet/rbi/gems/async@2.46.0.rbi +2193 -0
  22. data/sorbet/rbi/gems/benchmark@0.5.0.rbi +495 -0
  23. data/sorbet/rbi/gems/console@1.38.0.rbi +1552 -0
  24. data/sorbet/rbi/gems/erb@6.0.7.rbi +1581 -0
  25. data/sorbet/rbi/gems/erubi@1.13.1.rbi +153 -0
  26. data/sorbet/rbi/gems/fiber-annotation@0.2.0.rbi +62 -0
  27. data/sorbet/rbi/gems/fiber-local@1.1.0.rbi +36 -0
  28. data/sorbet/rbi/gems/fiber-storage@1.0.1.rbi +43 -0
  29. data/sorbet/rbi/gems/io-console@0.9.5.rbi +9 -0
  30. data/sorbet/rbi/gems/io-endpoint@0.19.0.rbi +1079 -0
  31. data/sorbet/rbi/gems/io-event@1.22.3.rbi +971 -0
  32. data/sorbet/rbi/gems/io-stream@0.14.0.rbi +805 -0
  33. data/sorbet/rbi/gems/json@3.1.0.rbi +1929 -0
  34. data/sorbet/rbi/gems/language_server-protocol@3.17.0.6.rbi +9 -0
  35. data/sorbet/rbi/gems/lint_roller@1.1.0.rbi +189 -0
  36. data/sorbet/rbi/gems/logger@1.7.0.rbi +896 -0
  37. data/sorbet/rbi/gems/minitest@5.27.0.rbi +1499 -0
  38. data/sorbet/rbi/gems/netrc@0.11.0.rbi +147 -0
  39. data/sorbet/rbi/gems/openssl@4.0.2.rbi +4366 -0
  40. data/sorbet/rbi/gems/parallel@2.3.0.rbi +332 -0
  41. data/sorbet/rbi/gems/parser@3.3.13.0.rbi +5146 -0
  42. data/sorbet/rbi/gems/pp@0.6.4.rbi +373 -0
  43. data/sorbet/rbi/gems/prettyprint@0.2.1.rbi +476 -0
  44. data/sorbet/rbi/gems/prism@1.9.0.rbi +42213 -0
  45. data/sorbet/rbi/gems/protocol-hpack@1.5.1.rbi +418 -0
  46. data/sorbet/rbi/gems/protocol-http1@0.41.1.rbi +894 -0
  47. data/sorbet/rbi/gems/protocol-http2@0.29.2.rbi +2277 -0
  48. data/sorbet/rbi/gems/protocol-http@0.72.1.rbi +3801 -0
  49. data/sorbet/rbi/gems/protocol-rack@0.23.0.rbi +9 -0
  50. data/sorbet/rbi/gems/protocol-url@0.19.0.rbi +9 -0
  51. data/sorbet/rbi/gems/protocol-websocket@0.21.3.rbi +1087 -0
  52. data/sorbet/rbi/gems/racc@1.8.1.rbi +169 -0
  53. data/sorbet/rbi/gems/rack@3.2.8.rbi +9 -0
  54. data/sorbet/rbi/gems/rainbow@3.1.1.rbi +362 -0
  55. data/sorbet/rbi/gems/rake@13.4.2.rbi +3127 -0
  56. data/sorbet/rbi/gems/rbi@0.5.0.rbi +5875 -0
  57. data/sorbet/rbi/gems/rbs@4.2.0.rbi +7133 -0
  58. data/sorbet/rbi/gems/rdoc@8.1.0.rbi +9 -0
  59. data/sorbet/rbi/gems/regexp_parser@2.13.1.rbi +3500 -0
  60. data/sorbet/rbi/gems/reline@0.7.0.rbi +2449 -0
  61. data/sorbet/rbi/gems/require-hooks@0.5.1.rbi +152 -0
  62. data/sorbet/rbi/gems/rexml@3.4.4.rbi +4905 -0
  63. data/sorbet/rbi/gems/rubocop-ast@1.51.0.rbi +7230 -0
  64. data/sorbet/rbi/gems/rubocop-rake@0.7.1.rbi +314 -0
  65. data/sorbet/rbi/gems/rubocop@1.92.2.rbi +69094 -0
  66. data/sorbet/rbi/gems/ruby-progressbar@1.13.0.rbi +988 -0
  67. data/sorbet/rbi/gems/rubydex@0.4.4.rbi +1620 -0
  68. data/sorbet/rbi/gems/spoom@1.8.13.rbi +7380 -0
  69. data/sorbet/rbi/gems/tapioca@0.20.0.rbi +3752 -0
  70. data/sorbet/rbi/gems/thor@1.5.0.rbi +3870 -0
  71. data/sorbet/rbi/gems/tsort@0.2.0.rbi +389 -0
  72. data/sorbet/rbi/gems/unicode-display_width@3.3.0.rbi +130 -0
  73. data/sorbet/rbi/gems/unicode-emoji@4.3.0.rbi +254 -0
  74. data/sorbet/rbi/gems/zeitwerk@2.8.3.rbi +1178 -0
  75. data/sorbet/tapioca/config.yml +13 -0
  76. data/sorbet/tapioca/require.rb +4 -0
  77. metadata +175 -0
@@ -0,0 +1,1620 @@
1
+ # typed: true
2
+
3
+ # DO NOT EDIT MANUALLY
4
+ # This is an autogenerated file for types exported from the `rubydex` gem.
5
+ # Please instead update this file by running `bin/tapioca gem rubydex`.
6
+
7
+
8
+ # frozen_string_literal: true
9
+ # typed: strict
10
+
11
+ # This file is generated by `generate_ruby_rules.rs`. Do not edit this manually.
12
+ #
13
+ # pkg:gem/rubydex#lib/rubydex/version.rb:3
14
+ module Rubydex; end
15
+
16
+ # Raised when `MethodAliasDefinition#target` walks an alias chain that loops back on itself.
17
+ #
18
+ # pkg:gem/rubydex#lib/rubydex/errors.rb:7
19
+ class Rubydex::AliasCycleError < ::Rubydex::Error; end
20
+
21
+ # pkg:gem/rubydex#lib/rubydex.rb:14
22
+ class Rubydex::AttrAccessorDefinition < ::Rubydex::Definition; end
23
+
24
+ # pkg:gem/rubydex#lib/rubydex.rb:14
25
+ class Rubydex::AttrReaderDefinition < ::Rubydex::Definition; end
26
+
27
+ # pkg:gem/rubydex#lib/rubydex.rb:14
28
+ class Rubydex::AttrWriterDefinition < ::Rubydex::Definition; end
29
+
30
+ # pkg:gem/rubydex#lib/rubydex.rb:14
31
+ class Rubydex::Class < ::Rubydex::Namespace
32
+ include ::Rubydex::Visibility
33
+
34
+ # pkg:gem/rubydex#lib/rubydex.rb:14
35
+ def visibility; end
36
+ end
37
+
38
+ # pkg:gem/rubydex#lib/rubydex.rb:14
39
+ class Rubydex::ClassDefinition < ::Rubydex::Definition
40
+ # pkg:gem/rubydex#lib/rubydex.rb:14
41
+ sig { returns(T::Array[Rubydex::Mixin]) }
42
+ def mixins; end
43
+
44
+ # pkg:gem/rubydex#lib/rubydex.rb:14
45
+ sig { returns(String) }
46
+ def raw_name; end
47
+
48
+ # pkg:gem/rubydex#lib/rubydex.rb:14
49
+ sig { returns(T.nilable(Rubydex::ConstantReference)) }
50
+ def superclass; end
51
+ end
52
+
53
+ # pkg:gem/rubydex#lib/rubydex.rb:14
54
+ class Rubydex::ClassVariable < ::Rubydex::Declaration
55
+ # pkg:gem/rubydex#lib/rubydex.rb:14
56
+ sig { returns(T::Array[T.untyped]) }
57
+ def references; end
58
+ end
59
+
60
+ # pkg:gem/rubydex#lib/rubydex.rb:14
61
+ class Rubydex::ClassVariableDefinition < ::Rubydex::Definition; end
62
+
63
+ # pkg:gem/rubydex#lib/rubydex.rb:14
64
+ class Rubydex::Comment
65
+ # pkg:gem/rubydex#lib/rubydex/comment.rb:12
66
+ sig { params(string: String, location: Rubydex::Location).void }
67
+ def initialize(string:, location:); end
68
+
69
+ # pkg:gem/rubydex#lib/rubydex/comment.rb:9
70
+ sig { returns(Rubydex::Location) }
71
+ def location; end
72
+
73
+ # pkg:gem/rubydex#lib/rubydex/comment.rb:6
74
+ sig { returns(String) }
75
+ def string; end
76
+ end
77
+
78
+ # pkg:gem/rubydex#lib/rubydex.rb:14
79
+ # The configuration of a workspace, parsed from its `rubydex.toml`. It carries both the settings that are global to
80
+ # every built-in tool, such as the workspace being analyzed, and the typed settings of each tool's own section (e.g.
81
+ # `[graph]`, `[linter]`).
82
+ class Rubydex::Config
83
+ # pkg:gem/rubydex#lib/rubydex.rb:14
84
+ # The linter's settings, read from the `[linter]` section.
85
+ sig { returns(Rubydex::LinterConfig) }
86
+ def linter; end
87
+
88
+ # pkg:gem/rubydex#lib/rubydex.rb:14
89
+ # The configured workspace path, which is usually PWD, except for editors that spawn language servers outside of pwd.
90
+ sig { returns(String) }
91
+ def workspace_path; end
92
+
93
+ class << self
94
+ # pkg:gem/rubydex#lib/rubydex.rb:14
95
+ # Loads the configuration file for `workspace_path/rubydex.toml` if it exists or uses the defaults.
96
+ sig { params(workspace_path: String).returns(Rubydex::Config) }
97
+ def load(workspace_path); end
98
+ end
99
+ end
100
+
101
+ # Raised by `Config.load` when the workspace does not exist, or when its config file cannot be read or is malformed.
102
+ # A workspace with no config file at all is not an error.
103
+ #
104
+ # pkg:gem/rubydex#lib/rubydex/errors.rb:11
105
+ class Rubydex::ConfigError < ::Rubydex::Error; end
106
+
107
+ # pkg:gem/rubydex#lib/rubydex.rb:14
108
+ class Rubydex::Constant < ::Rubydex::Declaration
109
+ include ::Rubydex::Visibility
110
+
111
+ # pkg:gem/rubydex#lib/rubydex.rb:14
112
+ sig { returns(T::Enumerable[Rubydex::ConstantReference]) }
113
+ def references; end
114
+
115
+ # pkg:gem/rubydex#lib/rubydex.rb:14
116
+ def visibility; end
117
+ end
118
+
119
+ # pkg:gem/rubydex#lib/rubydex.rb:14
120
+ class Rubydex::ConstantAlias < ::Rubydex::Declaration
121
+ include ::Rubydex::Visibility
122
+
123
+ # pkg:gem/rubydex#lib/rubydex.rb:14
124
+ sig { returns(T::Enumerable[Rubydex::ConstantReference]) }
125
+ def references; end
126
+
127
+ # pkg:gem/rubydex#lib/rubydex.rb:14
128
+ sig { returns(T.nilable(Rubydex::Declaration)) }
129
+ def target; end
130
+
131
+ # pkg:gem/rubydex#lib/rubydex.rb:14
132
+ def visibility; end
133
+ end
134
+
135
+ # pkg:gem/rubydex#lib/rubydex.rb:14
136
+ class Rubydex::ConstantAliasDefinition < ::Rubydex::Definition
137
+ # pkg:gem/rubydex#lib/rubydex.rb:14
138
+ sig { returns(String) }
139
+ def raw_name; end
140
+ end
141
+
142
+ # pkg:gem/rubydex#lib/rubydex.rb:14
143
+ class Rubydex::ConstantDefinition < ::Rubydex::Definition
144
+ # pkg:gem/rubydex#lib/rubydex.rb:14
145
+ sig { returns(String) }
146
+ def raw_name; end
147
+ end
148
+
149
+ # pkg:gem/rubydex#lib/rubydex.rb:14
150
+ class Rubydex::ConstantReference < ::Rubydex::Reference
151
+ abstract!
152
+
153
+ # pkg:gem/rubydex#lib/rubydex.rb:14
154
+ def initialize(_arg0, _arg1); end
155
+
156
+ # pkg:gem/rubydex#lib/rubydex.rb:14
157
+ sig { returns(Rubydex::Document) }
158
+ def document; end
159
+
160
+ # pkg:gem/rubydex#lib/rubydex.rb:14
161
+ sig { returns(Rubydex::Location) }
162
+ def location; end
163
+
164
+ class << self
165
+ def new(*args); end
166
+ end
167
+ end
168
+
169
+ # pkg:gem/rubydex#lib/rubydex.rb:14
170
+ class Rubydex::ConstantVisibilityDefinition < ::Rubydex::Definition; end
171
+
172
+ # pkg:gem/rubydex#lib/rubydex.rb:14
173
+ class Rubydex::Declaration
174
+ abstract!
175
+
176
+ # pkg:gem/rubydex#lib/rubydex.rb:14
177
+ def initialize(_arg0, _arg1); end
178
+
179
+ # pkg:gem/rubydex#lib/rubydex.rb:14
180
+ sig { returns(T::Enumerable[Rubydex::Definition]) }
181
+ def definitions; end
182
+
183
+ # pkg:gem/rubydex#lib/rubydex.rb:14
184
+ sig { returns(String) }
185
+ def name; end
186
+
187
+ # pkg:gem/rubydex#lib/rubydex.rb:14
188
+ sig { returns(Rubydex::Declaration) }
189
+ def owner; end
190
+
191
+ # @abstract
192
+ #
193
+ # pkg:gem/rubydex#lib/rubydex/declaration.rb:18
194
+ sig { returns(T::Enumerable[Rubydex::Reference]) }
195
+ def references; end
196
+
197
+ # pkg:gem/rubydex#lib/rubydex.rb:14
198
+ sig { returns(String) }
199
+ def unqualified_name; end
200
+
201
+ class << self
202
+ private
203
+
204
+ # pkg:gem/rubydex#lib/rubydex.rb:14
205
+ def new(*_arg0); end
206
+ end
207
+ end
208
+
209
+ # pkg:gem/rubydex#lib/rubydex.rb:14
210
+ class Rubydex::Definition
211
+ abstract!
212
+
213
+ # pkg:gem/rubydex#lib/rubydex.rb:14
214
+ def initialize(_arg0, _arg1); end
215
+
216
+ # pkg:gem/rubydex#lib/rubydex.rb:14
217
+ sig { returns(T::Array[Rubydex::Comment]) }
218
+ def comments; end
219
+
220
+ # pkg:gem/rubydex#lib/rubydex.rb:14
221
+ sig { returns(T.nilable(Rubydex::Declaration)) }
222
+ def declaration; end
223
+
224
+ # pkg:gem/rubydex#lib/rubydex.rb:14
225
+ sig { returns(T::Boolean) }
226
+ def deprecated?; end
227
+
228
+ # pkg:gem/rubydex#lib/rubydex.rb:14
229
+ sig { returns(Rubydex::Document) }
230
+ def document; end
231
+
232
+ # pkg:gem/rubydex#lib/rubydex.rb:14
233
+ sig { returns(T::Array[Rubydex::Definition]) }
234
+ def lexical_nesting; end
235
+
236
+ # pkg:gem/rubydex#lib/rubydex.rb:14
237
+ sig { returns(T.nilable(Rubydex::Definition)) }
238
+ def lexical_owner; end
239
+
240
+ # pkg:gem/rubydex#lib/rubydex.rb:14
241
+ sig { returns(Rubydex::Location) }
242
+ def location; end
243
+
244
+ # pkg:gem/rubydex#lib/rubydex.rb:14
245
+ sig { returns(String) }
246
+ def name; end
247
+
248
+ # pkg:gem/rubydex#lib/rubydex.rb:14
249
+ sig { returns(T.nilable(Rubydex::Location)) }
250
+ def name_location; end
251
+
252
+ class << self
253
+ private
254
+
255
+ # pkg:gem/rubydex#lib/rubydex.rb:14
256
+ def new(*_arg0); end
257
+ end
258
+ end
259
+
260
+ # pkg:gem/rubydex#lib/rubydex.rb:14
261
+ class Rubydex::Diagnostic
262
+ # pkg:gem/rubydex#lib/rubydex/diagnostic.rb:23
263
+ sig do
264
+ params(
265
+ rule: T.class_of(Rubydex::Rule),
266
+ message: String,
267
+ location: Rubydex::Location,
268
+ related_information: T::Array[Rubydex::RelatedInformation]
269
+ ).void
270
+ end
271
+ def initialize(rule:, message:, location:, related_information: []); end
272
+
273
+ # pkg:gem/rubydex#lib/rubydex/diagnostic.rb:12
274
+ sig { returns(Rubydex::Location) }
275
+ def location; end
276
+
277
+ # pkg:gem/rubydex#lib/rubydex/diagnostic.rb:9
278
+ sig { returns(String) }
279
+ def message; end
280
+
281
+ # pkg:gem/rubydex#lib/rubydex/diagnostic.rb:15
282
+ sig { returns(T::Array[Rubydex::RelatedInformation]) }
283
+ def related_information; end
284
+
285
+ # pkg:gem/rubydex#lib/rubydex/diagnostic.rb:6
286
+ sig { returns(T.class_of(Rubydex::Rule)) }
287
+ def rule; end
288
+ end
289
+
290
+ # A one based location intended for display purposes. This is what should be used when displaying a location to users,
291
+ # like in CLIs
292
+ #
293
+ # pkg:gem/rubydex#lib/rubydex/location.rb:86
294
+ class Rubydex::DisplayLocation < ::Rubydex::Location
295
+ # Normalize to zero-based for comparison with Location
296
+ #
297
+ # pkg:gem/rubydex#lib/rubydex/location.rb:108
298
+ sig { returns([String, Integer, Integer, Integer, Integer]) }
299
+ def comparable_values; end
300
+
301
+ # Returns itself
302
+ #
303
+ # pkg:gem/rubydex#lib/rubydex/location.rb:101
304
+ sig { returns(Rubydex::DisplayLocation) }
305
+ def to_display; end
306
+
307
+ # pkg:gem/rubydex#lib/rubydex/location.rb:113
308
+ sig { returns(String) }
309
+ def to_s; end
310
+
311
+ class << self
312
+ # pkg:gem/rubydex#lib/rubydex/location.rb:89
313
+ sig { params(prism_location: Prism::Location, uri: String).returns(T.noreturn) }
314
+ def from_prism(prism_location, uri:); end
315
+ end
316
+ end
317
+
318
+ # pkg:gem/rubydex#lib/rubydex.rb:14
319
+ class Rubydex::Document
320
+ # pkg:gem/rubydex#lib/rubydex.rb:14
321
+ def initialize(_arg0, _arg1); end
322
+
323
+ # pkg:gem/rubydex#lib/rubydex.rb:14
324
+ sig { returns(T::Enumerable[Rubydex::Definition]) }
325
+ def definitions; end
326
+
327
+ # pkg:gem/rubydex#lib/rubydex.rb:14
328
+ sig { returns(T::Enumerable[Rubydex::MethodReference]) }
329
+ def method_references; end
330
+
331
+ # pkg:gem/rubydex#lib/rubydex.rb:14
332
+ sig { returns(String) }
333
+ def uri; end
334
+
335
+ class << self
336
+ private
337
+
338
+ # pkg:gem/rubydex#lib/rubydex.rb:14
339
+ def new(*_arg0); end
340
+ end
341
+ end
342
+
343
+ # pkg:gem/rubydex#lib/rubydex/errors.rb:4
344
+ class Rubydex::Error < ::StandardError; end
345
+
346
+ # Represents `extend SomeModule`
347
+ #
348
+ # pkg:gem/rubydex#lib/rubydex/mixin.rb:21
349
+ class Rubydex::Extend < ::Rubydex::Mixin; end
350
+
351
+ # pkg:gem/rubydex#lib/rubydex/failures.rb:4
352
+ class Rubydex::Failure
353
+ # pkg:gem/rubydex#lib/rubydex/failures.rb:9
354
+ sig { params(message: String).void }
355
+ def initialize(message); end
356
+
357
+ # pkg:gem/rubydex#lib/rubydex/failures.rb:6
358
+ sig { returns(String) }
359
+ def message; end
360
+ end
361
+
362
+ # pkg:gem/rubydex#lib/rubydex.rb:14
363
+ class Rubydex::GlobalVariable < ::Rubydex::Declaration
364
+ # pkg:gem/rubydex#lib/rubydex.rb:14
365
+ sig { returns(T::Array[T.untyped]) }
366
+ def references; end
367
+ end
368
+
369
+ # pkg:gem/rubydex#lib/rubydex.rb:14
370
+ class Rubydex::GlobalVariableAliasDefinition < ::Rubydex::Definition; end
371
+
372
+ # pkg:gem/rubydex#lib/rubydex.rb:14
373
+ class Rubydex::GlobalVariableDefinition < ::Rubydex::Definition; end
374
+
375
+ # The global graph representing all declarations and their relationships for the workspace
376
+ #
377
+ # Note: this class is partially defined in C to integrate with the Rust backend
378
+ #
379
+ # pkg:gem/rubydex#lib/rubydex.rb:14
380
+ class Rubydex::Graph
381
+ # pkg:gem/rubydex#lib/rubydex.rb:14
382
+ sig { params(fully_qualified_name: String).returns(T.nilable(Rubydex::Declaration)) }
383
+ def [](fully_qualified_name); end
384
+
385
+ # pkg:gem/rubydex#lib/rubydex.rb:14
386
+ sig { returns(T::Array[Rubydex::Failure]) }
387
+ def check_integrity; end
388
+
389
+ # pkg:gem/rubydex#lib/rubydex.rb:14
390
+ def complete_expression(*_arg0); end
391
+
392
+ # pkg:gem/rubydex#lib/rubydex.rb:14
393
+ def complete_method_argument(*_arg0); end
394
+
395
+ # pkg:gem/rubydex#lib/rubydex.rb:14
396
+ def complete_method_call(*_arg0); end
397
+
398
+ # pkg:gem/rubydex#lib/rubydex.rb:14
399
+ def complete_namespace_access(*_arg0); end
400
+
401
+ # pkg:gem/rubydex#lib/rubydex.rb:14
402
+ sig { returns(T::Enumerable[Rubydex::ConstantReference]) }
403
+ def constant_references; end
404
+
405
+ # pkg:gem/rubydex#lib/rubydex.rb:14
406
+ sig { returns(T::Enumerable[Rubydex::Declaration]) }
407
+ def dead_code_candidates; end
408
+
409
+ # pkg:gem/rubydex#lib/rubydex.rb:14
410
+ sig { returns(T::Enumerable[Rubydex::Declaration]) }
411
+ def declarations; end
412
+
413
+ # pkg:gem/rubydex#lib/rubydex.rb:14
414
+ sig { params(uri: String).returns(T.nilable(Rubydex::Document)) }
415
+ def delete_document(uri); end
416
+
417
+ # pkg:gem/rubydex#lib/rubydex.rb:14
418
+ sig { returns(T::Array[Rubydex::Diagnostic]) }
419
+ def diagnostics; end
420
+
421
+ # pkg:gem/rubydex#lib/rubydex.rb:14
422
+ sig { params(uri: String).returns(T.nilable(Rubydex::Document)) }
423
+ def document(uri); end
424
+
425
+ # pkg:gem/rubydex#lib/rubydex.rb:14
426
+ sig { returns(T::Enumerable[Rubydex::Document]) }
427
+ def documents; end
428
+
429
+ # pkg:gem/rubydex#lib/rubydex.rb:14
430
+ sig { params(encoding: String).void }
431
+ def encoding=(encoding); end
432
+
433
+ # pkg:gem/rubydex#lib/rubydex.rb:14
434
+ sig { params(patterns: T::Array[String]).void }
435
+ def exclude_patterns(patterns); end
436
+
437
+ # pkg:gem/rubydex#lib/rubydex.rb:14
438
+ sig { returns(T::Array[String]) }
439
+ def excluded_patterns; end
440
+
441
+ # pkg:gem/rubydex#lib/rubydex.rb:14
442
+ sig { params(queries: String).returns(T::Enumerable[Rubydex::Declaration]) }
443
+ def fuzzy_search(*queries); end
444
+
445
+ # pkg:gem/rubydex#lib/rubydex.rb:14
446
+ sig { params(file_paths: T::Array[String]).returns(T::Array[String]) }
447
+ def index_all(file_paths); end
448
+
449
+ # pkg:gem/rubydex#lib/rubydex.rb:14
450
+ sig { params(uri: String, source: String, language_id: String).void }
451
+ def index_source(uri, source, language_id); end
452
+
453
+ # Index all files and dependencies of the workspace that exists in `workspace_path`
454
+ #
455
+ # pkg:gem/rubydex#lib/rubydex/graph.rb:24
456
+ sig { returns(T::Array[String]) }
457
+ def index_workspace; end
458
+
459
+ # pkg:gem/rubydex#lib/rubydex.rb:14
460
+ # Returns the keyword object for the name, or `nil` if it is not a Ruby keyword
461
+ sig { params(name: String).returns(T.nilable(Rubydex::Keyword)) }
462
+ def keyword(name); end
463
+
464
+ # pkg:gem/rubydex#lib/rubydex.rb:14
465
+ # Loads the configuration in the graph.
466
+ sig { params(config: Rubydex::Config).void }
467
+ def load_config(config); end
468
+
469
+ # pkg:gem/rubydex#lib/rubydex.rb:14
470
+ sig { returns(T::Enumerable[Rubydex::MethodReference]) }
471
+ def method_references; end
472
+
473
+ # pkg:gem/rubydex#lib/rubydex.rb:14
474
+ sig { params(load_paths: T::Array[String]).returns(T::Array[String]) }
475
+ def require_paths(load_paths); end
476
+
477
+ # pkg:gem/rubydex#lib/rubydex.rb:14
478
+ sig { returns(T.self_type) }
479
+ def resolve; end
480
+
481
+ # pkg:gem/rubydex#lib/rubydex.rb:14
482
+ sig do
483
+ params(
484
+ name: String,
485
+ context: T.any(
486
+ T::Array[String],
487
+ Rubydex::ClassDefinition,
488
+ Rubydex::SingletonClassDefinition,
489
+ Rubydex::ModuleDefinition,
490
+ )
491
+ ).returns(T.nilable(Rubydex::Declaration))
492
+ end
493
+ def resolve_constant(name, context); end
494
+
495
+ # pkg:gem/rubydex#lib/rubydex.rb:14
496
+ sig { params(require_path: String, load_paths: T::Array[String]).returns(T.nilable(Rubydex::Document)) }
497
+ def resolve_require_path(require_path, load_paths); end
498
+
499
+ # pkg:gem/rubydex#lib/rubydex.rb:14
500
+ sig { params(queries: String).returns(T::Enumerable[Rubydex::Declaration]) }
501
+ def search(*queries); end
502
+
503
+ # pkg:gem/rubydex#lib/rubydex.rb:14
504
+ # The root directory of the workspace being analyzed, which comes from the loaded `Rubydex::Config`
505
+ sig { returns(String) }
506
+ def workspace_path; end
507
+
508
+ # Returns all workspace paths that should be indexed
509
+ #
510
+ # pkg:gem/rubydex#lib/rubydex/graph.rb:31
511
+ sig { returns(T::Array[String]) }
512
+ def workspace_paths; end
513
+
514
+ private
515
+
516
+ # Searches for the latest installation of the `rbs` gem and adds the paths for the core and stdlib RBS definitions
517
+ # to the list of paths. This method does not require `rbs` to be a part of the bundle. It searches for whatever
518
+ # latest installation of `rbs` exists in the system and fails silently if we can't find one
519
+ #
520
+ # pkg:gem/rubydex#lib/rubydex/graph.rb:77
521
+ sig { params(paths: T::Array[String]).void }
522
+ def add_core_rbs_definition_paths(paths); end
523
+
524
+ # Gathers the paths we have to index for all workspace dependencies
525
+ #
526
+ # pkg:gem/rubydex#lib/rubydex/graph.rb:53
527
+ sig { params(paths: T::Array[String]).void }
528
+ def add_workspace_dependency_paths(paths); end
529
+
530
+ # pkg:gem/rubydex#lib/rubydex.rb:14
531
+ def initialize_clone(_arg0); end
532
+
533
+ # pkg:gem/rubydex#lib/rubydex.rb:14
534
+ def initialize_copy(_arg0); end
535
+
536
+ class << self
537
+ # Creates a new graph with the loaded configuration. For use cases where the graph must be shared between
538
+ # different tools, do not use this. Create and own a `Config` object instead.
539
+ #
540
+ # pkg:gem/rubydex#lib/rubydex/graph.rb:15
541
+ sig { params(workspace_path: String).returns(T.attached_class) }
542
+ def configure_for_workspace(workspace_path); end
543
+ end
544
+ end
545
+
546
+ # pkg:gem/rubydex#lib/rubydex/graph.rb:8
547
+ Rubydex::Graph::INDEXABLE_EXTENSIONS = T.let(T.unsafe(nil), Array)
548
+
549
+ # Represents `include SomeModule`
550
+ #
551
+ # pkg:gem/rubydex#lib/rubydex/mixin.rb:15
552
+ class Rubydex::Include < ::Rubydex::Mixin; end
553
+
554
+ # pkg:gem/rubydex#lib/rubydex.rb:14
555
+ class Rubydex::InstanceVariable < ::Rubydex::Declaration
556
+ # pkg:gem/rubydex#lib/rubydex.rb:14
557
+ sig { returns(T::Array[T.untyped]) }
558
+ def references; end
559
+ end
560
+
561
+ # pkg:gem/rubydex#lib/rubydex.rb:14
562
+ class Rubydex::InstanceVariableDefinition < ::Rubydex::Definition; end
563
+
564
+ # pkg:gem/rubydex#lib/rubydex/failures.rb:14
565
+ class Rubydex::IntegrityFailure < ::Rubydex::Failure; end
566
+
567
+ # pkg:gem/rubydex#lib/rubydex.rb:14
568
+ class Rubydex::Keyword
569
+ # pkg:gem/rubydex#lib/rubydex/keyword.rb:12
570
+ sig { params(name: String, documentation: String).void }
571
+ def initialize(name, documentation); end
572
+
573
+ # pkg:gem/rubydex#lib/rubydex/keyword.rb:9
574
+ sig { returns(String) }
575
+ def documentation; end
576
+
577
+ # pkg:gem/rubydex#lib/rubydex/keyword.rb:6
578
+ sig { returns(String) }
579
+ def name; end
580
+ end
581
+
582
+ # pkg:gem/rubydex#lib/rubydex.rb:14
583
+ class Rubydex::KeywordParameter
584
+ # pkg:gem/rubydex#lib/rubydex/keyword_parameter.rb:9
585
+ sig { params(name: String).void }
586
+ def initialize(name); end
587
+
588
+ # pkg:gem/rubydex#lib/rubydex/keyword_parameter.rb:6
589
+ sig { returns(String) }
590
+ def name; end
591
+ end
592
+
593
+ module Rubydex::Linter; end
594
+
595
+ # Base class for semantic lint rules, which collect their diagnostics by walking a resolved graph.
596
+ class Rubydex::Linter::CustomRule < Rubydex::Rule
597
+ abstract!
598
+
599
+ sig { params(graph: Rubydex::Graph, config: Rubydex::LinterConfig).void }
600
+ def initialize(graph, config:); end
601
+
602
+ sig do
603
+ params(
604
+ message: String,
605
+ location: Rubydex::Location,
606
+ related_information: T::Array[Rubydex::RelatedInformation]
607
+ ).void
608
+ end
609
+ def add_diagnostic(message, location, related_information: []); end
610
+
611
+ sig { params(base_name: String).returns(T::Enumerable[Rubydex::Class]) }
612
+ def child_classes(base_name); end
613
+
614
+ sig { returns(Rubydex::LinterConfig) }
615
+ def config; end
616
+
617
+ sig { params(definition: Rubydex::Definition).returns(Rubydex::Location) }
618
+ def diagnostic_location(definition); end
619
+
620
+ sig { returns(T::Array[Rubydex::Diagnostic]) }
621
+ def diagnostics; end
622
+
623
+ sig { returns(Rubydex::Graph) }
624
+ def graph; end
625
+
626
+ sig { abstract.void }
627
+ def lint; end
628
+
629
+ sig { params(namespace: Rubydex::Namespace, method_name: String).returns(Rubydex::Method) }
630
+ def required_method(namespace, method_name); end
631
+
632
+ sig { params(name: String).returns(Rubydex::Namespace) }
633
+ def required_namespace(name); end
634
+
635
+ sig { returns(String) }
636
+ def rule_name; end
637
+ end
638
+
639
+ module Rubydex::Linter::Helpers; end
640
+
641
+ module Rubydex::Linter::Helpers::PathHelpers
642
+ extend T::Helpers
643
+
644
+ requires_ancestor { Rubydex::Linter::CustomRule }
645
+
646
+ sig { params(definition: Rubydex::Definition).returns(T.nilable(String)) }
647
+ def path_for_definition(definition); end
648
+
649
+ sig { params(path: String, patterns: T::Array[String]).returns(T::Boolean) }
650
+ def path_matches_patterns?(path, patterns); end
651
+
652
+ sig do
653
+ params(
654
+ definitions: T::Enumerable[Rubydex::Definition],
655
+ excluded_patterns: T::Array[String]
656
+ ).returns(T::Array[Rubydex::Definition])
657
+ end
658
+ def reject_definitions_in_paths(definitions, excluded_patterns); end
659
+
660
+ sig do
661
+ params(
662
+ definitions: T::Enumerable[Rubydex::Definition],
663
+ patterns: T::Array[String]
664
+ ).returns(T::Array[Rubydex::Definition])
665
+ end
666
+ def select_definitions_in_paths(definitions, patterns); end
667
+
668
+ sig { params(path: String).returns(T::Boolean) }
669
+ def test_path?(path); end
670
+
671
+ class << self
672
+ sig { params(location: Rubydex::Location, workspace: String).returns(String) }
673
+ def display_path(location, workspace:); end
674
+
675
+ sig { params(path: String, patterns: T::Array[String], workspace: String, flags: Integer).returns(T::Boolean) }
676
+ def path_matches_patterns?(path, patterns, workspace:, flags: 0); end
677
+ end
678
+
679
+ EXCLUDE_FNMATCH_FLAGS = T.let(T.unsafe(nil), Integer)
680
+ TEST_PATHS = T.let(T.unsafe(nil), T::Array[String])
681
+ end
682
+
683
+ module Rubydex::Linter::Helpers::SourceAccessHelpers
684
+ sig { params(uri: String).returns(Rubydex::Location) }
685
+ def file_location(uri); end
686
+
687
+ sig { params(uri: String).returns(String) }
688
+ def path_for_uri(uri); end
689
+
690
+ sig { params(location: Rubydex::Location).returns(T.nilable(String)) }
691
+ def source_for_location(location); end
692
+ end
693
+
694
+ class Rubydex::Linter::MissingGraphDependencyError < StandardError
695
+ sig { params(rule_name: String, dependency: String).void }
696
+ def initialize(rule_name, dependency); end
697
+ end
698
+
699
+ class Rubydex::Linter::RuleLoadError < StandardError; end
700
+
701
+ class Rubydex::Linter::RuleLoader
702
+ class << self
703
+ sig { params(workspace_path: String).void }
704
+ def load(workspace_path); end
705
+ end
706
+
707
+ RULE_GLOB = T.let(T.unsafe(nil), String)
708
+ end
709
+
710
+ module Rubydex::Linter::Rules; end
711
+
712
+ class Rubydex::Linter::Rules::RuleStructure < Rubydex::Linter::CustomRule
713
+ include Rubydex::Linter::Helpers::SourceAccessHelpers
714
+
715
+ sig { override.void }
716
+ def lint; end
717
+
718
+ class << self
719
+ sig { override.returns(T.class_of(Rubydex::Severity::Base)) }
720
+ def default_severity; end
721
+ end
722
+
723
+ BASE_RULE_NAME = T.let(T.unsafe(nil), String)
724
+ RULE_FILE_PATTERNS = T.let(T.unsafe(nil), T::Array[String])
725
+ RULE_NAMESPACE = T.let(T.unsafe(nil), String)
726
+ TEST_FILE_PATTERNS = T.let(T.unsafe(nil), T::Array[String])
727
+ end
728
+
729
+ class Rubydex::Linter::Runner
730
+ sig do
731
+ params(
732
+ graph: Rubydex::Graph,
733
+ custom_rules: T::Array[T.class_of(Rubydex::Linter::CustomRule)],
734
+ config: Rubydex::LinterConfig
735
+ ).void
736
+ end
737
+ def initialize(graph, custom_rules:, config:); end
738
+
739
+ sig { returns(T::Array[T.class_of(Rubydex::Linter::CustomRule)]) }
740
+ def custom_rules; end
741
+
742
+ sig { returns(Rubydex::Graph) }
743
+ def graph; end
744
+
745
+ sig { returns(T::Array[Rubydex::Diagnostic]) }
746
+ def run; end
747
+ end
748
+
749
+ # The linter's settings, read from the `[linter]` section of the configuration file.
750
+ #
751
+ # pkg:gem/rubydex#lib/rubydex.rb:14
752
+ class Rubydex::LinterConfig
753
+ # pkg:gem/rubydex#lib/rubydex/config.rb:13
754
+ sig { params(rules: T::Hash[String, Rubydex::RuleConfig]).void }
755
+ def initialize(rules); end
756
+
757
+ # pkg:gem/rubydex#lib/rubydex/config.rb:25
758
+ sig { params(rule_class: T.class_of(Rubydex::Rule)).returns(T::Array[String]) }
759
+ def excludes_for(rule_class); end
760
+
761
+ # pkg:gem/rubydex#lib/rubydex/config.rb:19
762
+ sig { params(rule_class: T.class_of(Rubydex::Rule)).returns(T::Boolean) }
763
+ def rule_enabled?(rule_class); end
764
+
765
+ # The configured rules, keyed by rule name. Only rules the configuration file mentions appear here, so a rule that
766
+ # was never configured is absent rather than present with its defaults.
767
+ #
768
+ # pkg:gem/rubydex#lib/rubydex/config.rb:10
769
+ def rules; end
770
+
771
+ # pkg:gem/rubydex#lib/rubydex/config.rb:30
772
+ sig { params(rule_class: T.class_of(Rubydex::Rule)).returns(T.nilable(T.class_of(Rubydex::Severity::Base))) }
773
+ def severity_for(rule_class); end
774
+ end
775
+
776
+ # A zero based internal location. Intended to be used for tool-to-tool communication, such as a language server
777
+ # communicating with an editor.
778
+ #
779
+ # pkg:gem/rubydex#lib/rubydex.rb:14
780
+ class Rubydex::Location
781
+ include ::Comparable
782
+
783
+ # pkg:gem/rubydex#lib/rubydex/location.rb:31
784
+ sig { params(uri: String, start_line: Integer, end_line: Integer, start_column: Integer, end_column: Integer).void }
785
+ def initialize(uri:, start_line:, end_line:, start_column:, end_column:); end
786
+
787
+ # pkg:gem/rubydex#lib/rubydex/location.rb:54
788
+ sig { params(other: T.untyped).returns(T.nilable(Integer)) }
789
+ def <=>(other); end
790
+
791
+ # pkg:gem/rubydex#lib/rubydex/location.rb:61
792
+ sig { returns([String, Integer, Integer, Integer, Integer]) }
793
+ def comparable_values; end
794
+
795
+ # pkg:gem/rubydex#lib/rubydex/location.rb:15
796
+ sig { returns(Integer) }
797
+ def end_column; end
798
+
799
+ # pkg:gem/rubydex#lib/rubydex/location.rb:15
800
+ sig { returns(Integer) }
801
+ def end_line; end
802
+
803
+ # pkg:gem/rubydex#lib/rubydex/location.rb:15
804
+ sig { returns(Integer) }
805
+ def start_column; end
806
+
807
+ # pkg:gem/rubydex#lib/rubydex/location.rb:15
808
+ sig { returns(Integer) }
809
+ def start_line; end
810
+
811
+ # Turns this zero based location into a one based location for display purposes.
812
+ #
813
+ # pkg:gem/rubydex#lib/rubydex/location.rb:68
814
+ sig { returns(Rubydex::DisplayLocation) }
815
+ def to_display; end
816
+
817
+ # pkg:gem/rubydex#lib/rubydex/location.rb:40
818
+ sig { returns(String) }
819
+ def to_file_path; end
820
+
821
+ # pkg:gem/rubydex#lib/rubydex/location.rb:79
822
+ sig { returns(String) }
823
+ def to_s; end
824
+
825
+ # pkg:gem/rubydex#lib/rubydex/location.rb:12
826
+ sig { returns(String) }
827
+ def uri; end
828
+
829
+ class << self
830
+ # pkg:gem/rubydex#lib/rubydex/location.rb:19
831
+ sig { params(prism_location: Prism::Location, uri: String).returns(Rubydex::Location) }
832
+ def from_prism(prism_location, uri:); end
833
+ end
834
+ end
835
+
836
+ # pkg:gem/rubydex#lib/rubydex/location.rb:7
837
+ class Rubydex::Location::NotFileUriError < ::StandardError; end
838
+
839
+ # pkg:gem/rubydex#lib/rubydex.rb:14
840
+ class Rubydex::Method < ::Rubydex::Declaration
841
+ include ::Rubydex::Visibility
842
+
843
+ # pkg:gem/rubydex#lib/rubydex.rb:14
844
+ sig { returns(T::Enumerable[Rubydex::MethodReference]) }
845
+ def references; end
846
+
847
+ # pkg:gem/rubydex#lib/rubydex.rb:14
848
+ def visibility; end
849
+ end
850
+
851
+ # pkg:gem/rubydex#lib/rubydex.rb:14
852
+ class Rubydex::MethodAliasDefinition < ::Rubydex::Definition
853
+ # pkg:gem/rubydex#lib/rubydex.rb:14
854
+ sig { returns(T::Array[Rubydex::Signature]) }
855
+ def signatures; end
856
+
857
+ # pkg:gem/rubydex#lib/rubydex.rb:14
858
+ sig { returns(T.nilable(Rubydex::Method)) }
859
+ def target; end
860
+ end
861
+
862
+ # pkg:gem/rubydex#lib/rubydex.rb:14
863
+ class Rubydex::MethodDefinition < ::Rubydex::Definition
864
+ # pkg:gem/rubydex#lib/rubydex.rb:14
865
+ sig { returns(T::Array[Rubydex::Signature]) }
866
+ def signatures; end
867
+ end
868
+
869
+ # pkg:gem/rubydex#lib/rubydex.rb:14
870
+ class Rubydex::MethodReference < ::Rubydex::Reference
871
+ # pkg:gem/rubydex#lib/rubydex.rb:14
872
+ def initialize(_arg0, _arg1); end
873
+
874
+ # pkg:gem/rubydex#lib/rubydex.rb:14
875
+ sig { returns(Rubydex::Document) }
876
+ def document; end
877
+
878
+ # pkg:gem/rubydex#lib/rubydex.rb:14
879
+ sig { returns(Rubydex::Location) }
880
+ def location; end
881
+
882
+ # pkg:gem/rubydex#lib/rubydex.rb:14
883
+ sig { returns(String) }
884
+ def name; end
885
+
886
+ # pkg:gem/rubydex#lib/rubydex.rb:14
887
+ sig { returns(T.nilable(Rubydex::Declaration)) }
888
+ def receiver; end
889
+ end
890
+
891
+ # pkg:gem/rubydex#lib/rubydex.rb:14
892
+ class Rubydex::MethodVisibilityDefinition < ::Rubydex::Definition; end
893
+
894
+ # pkg:gem/rubydex#lib/rubydex/mixin.rb:4
895
+ class Rubydex::Mixin
896
+ abstract!
897
+
898
+ # pkg:gem/rubydex#lib/rubydex/mixin.rb:9
899
+ sig { params(constant_reference: Rubydex::ConstantReference).void }
900
+ def initialize(constant_reference); end
901
+
902
+ # pkg:gem/rubydex#lib/rubydex/mixin.rb:6
903
+ def constant_reference; end
904
+ end
905
+
906
+ # pkg:gem/rubydex#lib/rubydex.rb:14
907
+ class Rubydex::Module < ::Rubydex::Namespace
908
+ include ::Rubydex::Visibility
909
+
910
+ # pkg:gem/rubydex#lib/rubydex.rb:14
911
+ def visibility; end
912
+ end
913
+
914
+ # pkg:gem/rubydex#lib/rubydex.rb:14
915
+ class Rubydex::ModuleDefinition < ::Rubydex::Definition
916
+ # pkg:gem/rubydex#lib/rubydex.rb:14
917
+ sig { returns(T::Array[Rubydex::Mixin]) }
918
+ def mixins; end
919
+
920
+ # pkg:gem/rubydex#lib/rubydex.rb:14
921
+ sig { returns(String) }
922
+ def raw_name; end
923
+ end
924
+
925
+ # pkg:gem/rubydex#lib/rubydex.rb:14
926
+ class Rubydex::Namespace < ::Rubydex::Declaration
927
+ abstract!
928
+
929
+ # pkg:gem/rubydex#lib/rubydex.rb:14
930
+ sig { returns(T::Enumerable[Rubydex::Namespace]) }
931
+ def ancestors; end
932
+
933
+ # pkg:gem/rubydex#lib/rubydex.rb:14
934
+ sig { returns(T::Enumerable[Rubydex::Namespace]) }
935
+ def descendants; end
936
+
937
+ # pkg:gem/rubydex#lib/rubydex.rb:14
938
+ def find_member(*_arg0); end
939
+
940
+ # pkg:gem/rubydex#lib/rubydex/declaration.rb:25
941
+ sig { params(ancestor_names: String).returns(T::Boolean) }
942
+ def has_ancestor?(*ancestor_names); end
943
+
944
+ # pkg:gem/rubydex#lib/rubydex.rb:14
945
+ sig { params(name: String).returns(T.nilable(Rubydex::Declaration)) }
946
+ def member(name); end
947
+
948
+ # pkg:gem/rubydex#lib/rubydex.rb:14
949
+ sig { returns(T::Enumerable[Rubydex::Declaration]) }
950
+ def members; end
951
+
952
+ # pkg:gem/rubydex#lib/rubydex.rb:14
953
+ sig { returns(T::Enumerable[Rubydex::ConstantReference]) }
954
+ def references; end
955
+
956
+ # pkg:gem/rubydex#lib/rubydex.rb:14
957
+ sig { returns(T.nilable(Rubydex::SingletonClass)) }
958
+ def singleton_class; end
959
+ end
960
+
961
+ # Represents `prepend SomeModule`
962
+ #
963
+ # pkg:gem/rubydex#lib/rubydex/mixin.rb:18
964
+ class Rubydex::Prepend < ::Rubydex::Mixin; end
965
+
966
+ # pkg:gem/rubydex#lib/rubydex.rb:14
967
+ class Rubydex::Query
968
+ # pkg:gem/rubydex#lib/rubydex.rb:14
969
+ sig { params(graph: Rubydex::Graph).returns(Rubydex::Query::Result) }
970
+ def run(graph); end
971
+
972
+ class << self
973
+ # pkg:gem/rubydex#lib/rubydex.rb:14
974
+ sig { params(query: String).returns(Rubydex::Query) }
975
+ def parse(query); end
976
+
977
+ # pkg:gem/rubydex#lib/rubydex.rb:14
978
+ sig { params(format: T.any(String, Symbol)).returns(String) }
979
+ def schema(format = :table); end
980
+ end
981
+ end
982
+
983
+ # pkg:gem/rubydex#lib/rubydex.rb:14
984
+ # The columns and rows produced by one run of a query. Enumerable over its rows.
985
+ class Rubydex::Query::Result
986
+ include ::Enumerable
987
+ include Enumerable
988
+ extend T::Generic
989
+
990
+ Elem = type_member { { fixed: T::Hash[String, T.untyped] } }
991
+
992
+ # pkg:gem/rubydex#lib/rubydex.rb:14
993
+ sig { returns(T::Array[String]) }
994
+ def columns; end
995
+
996
+ # pkg:gem/rubydex#lib/rubydex.rb:14
997
+ def each; end
998
+
999
+ # pkg:gem/rubydex#lib/rubydex.rb:14
1000
+ sig { returns(T::Boolean) }
1001
+ def empty?; end
1002
+
1003
+ # pkg:gem/rubydex#lib/rubydex.rb:14
1004
+ sig { returns(Integer) }
1005
+ def length; end
1006
+
1007
+ # pkg:gem/rubydex#lib/rubydex.rb:14
1008
+ sig { params(format: T.any(String, Symbol)).returns(String) }
1009
+ def render(format = :table); end
1010
+
1011
+ # pkg:gem/rubydex#lib/rubydex.rb:14
1012
+ sig { returns(T::Array[T::Hash[String, T.untyped]]) }
1013
+ def rows; end
1014
+
1015
+ # pkg:gem/rubydex#lib/rubydex.rb:14
1016
+ sig { returns(Integer) }
1017
+ def size; end
1018
+
1019
+ class << self
1020
+ # A result only comes from `Query#run`. The C extension undefines `new`, so a call raises.
1021
+ sig { returns(T.noreturn) }
1022
+ def new; end
1023
+ end
1024
+ end
1025
+
1026
+ # Raised when a Cypher query cannot be parsed or cannot run. `Rubydex::Query` raises one of its
1027
+ # subclasses; rescue this class to catch either.
1028
+ #
1029
+ # pkg:gem/rubydex#lib/rubydex/errors.rb:27
1030
+ class Rubydex::QueryError < ::Rubydex::Error; end
1031
+
1032
+ # Raised by `Query#run` when a parsed query fails while it runs against a graph, for example
1033
+ # because it names an unknown property or relationship type.
1034
+ #
1035
+ # pkg:gem/rubydex#lib/rubydex/errors.rb:34
1036
+ class Rubydex::QueryExecutionError < ::Rubydex::QueryError; end
1037
+
1038
+ # Raised by `Query.parse` when the query is not valid Cypher.
1039
+ #
1040
+ # pkg:gem/rubydex#lib/rubydex/errors.rb:30
1041
+ class Rubydex::QuerySyntaxError < ::Rubydex::QueryError; end
1042
+
1043
+ # pkg:gem/rubydex#lib/rubydex.rb:14
1044
+ class Rubydex::Reference
1045
+ abstract!
1046
+
1047
+ # pkg:gem/rubydex#lib/rubydex.rb:14
1048
+ def initialize(_arg0, _arg1); end
1049
+
1050
+ # pkg:gem/rubydex#lib/rubydex/reference.rb:6
1051
+ def location; end
1052
+
1053
+ class << self
1054
+ private
1055
+
1056
+ # pkg:gem/rubydex#lib/rubydex.rb:14
1057
+ def new(*_arg0); end
1058
+ end
1059
+ end
1060
+
1061
+ # pkg:gem/rubydex#lib/rubydex/related_information.rb:4
1062
+ class Rubydex::RelatedInformation
1063
+ # pkg:gem/rubydex#lib/rubydex/related_information.rb:12
1064
+ sig { params(message: String, location: Rubydex::Location).void }
1065
+ def initialize(message, location); end
1066
+
1067
+ # pkg:gem/rubydex#lib/rubydex/related_information.rb:9
1068
+ sig { returns(Rubydex::Location) }
1069
+ def location; end
1070
+
1071
+ # pkg:gem/rubydex#lib/rubydex/related_information.rb:6
1072
+ sig { returns(String) }
1073
+ def message; end
1074
+ end
1075
+
1076
+ # pkg:gem/rubydex#lib/rubydex.rb:14
1077
+ class Rubydex::ResolvedConstantReference < ::Rubydex::ConstantReference
1078
+ # pkg:gem/rubydex#lib/rubydex.rb:14
1079
+ sig { returns(Rubydex::Declaration) }
1080
+ def declaration; end
1081
+ end
1082
+
1083
+ # The identity of a rule. We have different mechanisms for collecting diagnostics, but they all share the same
1084
+ # fundamental identity: a unique name and a default severity that may be overridden by the user's configuration.
1085
+ #
1086
+ # By keeping this identity concept unified, we are able to treat rules consistently regardless of whether they were
1087
+ # collected by the graph during the analysis or by the linter afterwards.
1088
+ #
1089
+ # @abstract
1090
+ #
1091
+ # pkg:gem/rubydex#lib/rubydex/rule.rb:11
1092
+ class Rubydex::Rule
1093
+ abstract!
1094
+
1095
+ class << self
1096
+ abstract!
1097
+
1098
+ # @abstract
1099
+ #
1100
+ # pkg:gem/rubydex#lib/rubydex/rule.rb:21
1101
+ sig { abstract.returns(T.class_of(Rubydex::Severity::Base)) }
1102
+ def default_severity; end
1103
+
1104
+ # pkg:gem/rubydex#lib/rubydex/rule.rb:14
1105
+ sig { returns(String) }
1106
+ def rule_name; end
1107
+
1108
+ # Returns the resolved severity of the rule based on the given configuration.
1109
+ #
1110
+ # pkg:gem/rubydex#lib/rubydex/rule.rb:28
1111
+ sig { params(config: Rubydex::LinterConfig).returns(T.class_of(Rubydex::Severity::Base)) }
1112
+ def severity(config); end
1113
+ end
1114
+ end
1115
+
1116
+ # The settings of a single linter rule, read from a `[linter.rules.RuleName]` table.
1117
+ #
1118
+ # pkg:gem/rubydex#lib/rubydex.rb:14
1119
+ class Rubydex::RuleConfig
1120
+ # pkg:gem/rubydex#lib/rubydex/config.rb:47
1121
+ sig do
1122
+ params(
1123
+ name: String,
1124
+ enabled: T::Boolean,
1125
+ exclude_patterns: T::Array[String],
1126
+ severity: T.nilable(T.class_of(Rubydex::Severity::Base))
1127
+ ).void
1128
+ end
1129
+ def initialize(name, enabled, exclude_patterns = [], severity = nil); end
1130
+
1131
+ # pkg:gem/rubydex#lib/rubydex/config.rb:55
1132
+ sig { returns(T::Boolean) }
1133
+ def enabled?; end
1134
+
1135
+ # pkg:gem/rubydex#lib/rubydex/config.rb:41
1136
+ def exclude_patterns; end
1137
+
1138
+ # pkg:gem/rubydex#lib/rubydex/config.rb:38
1139
+ def name; end
1140
+
1141
+ # pkg:gem/rubydex#lib/rubydex/config.rb:44
1142
+ def severity; end
1143
+ end
1144
+
1145
+ # pkg:gem/rubydex#lib/rubydex.rb:14
1146
+ module Rubydex::Rules; end
1147
+
1148
+ # Dynamic ancestor references cannot be reasoned about statically because they depend on runtime values. The
1149
+ # program may still be valid, but the quality of the analysis degrades. In the case of ancestors, since they
1150
+ # influence constant resolution, the degradation may be more impactful than other dynamic references.
1151
+ #
1152
+ # ```ruby
1153
+ # class Foo < var
1154
+ # ^^^ Dynamic ancestor reference. This might be correct, but it cannot be understood by the analysis.
1155
+ # include SomeClass.method_call
1156
+ # ^^^^^^^^^^^^^^^^^^^^^ Dynamic ancestor reference.
1157
+ # end
1158
+ # ```
1159
+ #
1160
+ # pkg:gem/rubydex#lib/rubydex/rules/dynamic_ancestor.rb:19
1161
+ class Rubydex::Rules::DynamicAncestor < ::Rubydex::Rule
1162
+ class << self
1163
+ # @override
1164
+ #
1165
+ # pkg:gem/rubydex#lib/rubydex/rules/dynamic_ancestor.rb:23
1166
+ sig { override.returns(T.class_of(Rubydex::Severity::Base)) }
1167
+ def default_severity; end
1168
+ end
1169
+ end
1170
+
1171
+ # Dynamic constant references cannot be reasoned about statically because they depend on runtime values. The
1172
+ # program may still be valid, but the quality of the analysis degrades.
1173
+ #
1174
+ # ```ruby
1175
+ # var::Foo
1176
+ # ^^^^^^^^ Dynamic constant reference. This might be correct, but it cannot be understood by the analysis.
1177
+ # ```
1178
+ #
1179
+ # pkg:gem/rubydex#lib/rubydex/rules/dynamic_constant_reference.rb:15
1180
+ class Rubydex::Rules::DynamicConstantReference < ::Rubydex::Rule
1181
+ class << self
1182
+ # @override
1183
+ #
1184
+ # pkg:gem/rubydex#lib/rubydex/rules/dynamic_constant_reference.rb:19
1185
+ sig { override.returns(T.class_of(Rubydex::Severity::Base)) }
1186
+ def default_severity; end
1187
+ end
1188
+ end
1189
+
1190
+ # Dynamic singleton targets cannot be reasoned about statically because they depend on runtime values. The program
1191
+ # may still be valid, but the quality of the analysis degrades.
1192
+ #
1193
+ # ```ruby
1194
+ # class << var
1195
+ # ^^^ Dynamic singleton target. This might be correct, but it cannot be understood by the analysis.
1196
+ # end
1197
+ #
1198
+ # def var.bar
1199
+ # ^^^ Dynamic singleton target.
1200
+ # end
1201
+ # ```
1202
+ #
1203
+ # pkg:gem/rubydex#lib/rubydex/rules/dynamic_singleton_definition.rb:20
1204
+ class Rubydex::Rules::DynamicSingletonDefinition < ::Rubydex::Rule
1205
+ class << self
1206
+ # @override
1207
+ #
1208
+ # pkg:gem/rubydex#lib/rubydex/rules/dynamic_singleton_definition.rb:24
1209
+ sig { override.returns(T.class_of(Rubydex::Severity::Base)) }
1210
+ def default_severity; end
1211
+ end
1212
+ end
1213
+
1214
+ # Constant visibility operations that depend on dynamic values cannot be reasoned about statically because they
1215
+ # depend on runtime values. The program may still be valid, but the quality of the analysis degrades.
1216
+ #
1217
+ # ```ruby
1218
+ # var.private_constant :Foo
1219
+ # ^^^ Invalid constant visibility. This might be correct, but it cannot be understood by the analysis.
1220
+ #
1221
+ # private_constant(var)
1222
+ # ^^^ Invalid constant visibility.
1223
+ # ```
1224
+ #
1225
+ # pkg:gem/rubydex#lib/rubydex/rules/invalid_constant_visibility.rb:18
1226
+ class Rubydex::Rules::InvalidConstantVisibility < ::Rubydex::Rule
1227
+ class << self
1228
+ # @override
1229
+ #
1230
+ # pkg:gem/rubydex#lib/rubydex/rules/invalid_constant_visibility.rb:22
1231
+ sig { override.returns(T.class_of(Rubydex::Severity::Base)) }
1232
+ def default_severity; end
1233
+ end
1234
+ end
1235
+
1236
+ # Method visibility operations that depend on dynamic values cannot be reasoned about statically because they
1237
+ # depend on runtime values. The program may still be valid, but the quality of the analysis degrades.
1238
+ #
1239
+ # ```ruby
1240
+ # var.private :foo
1241
+ # ^^^ Invalid method visibility. This might be correct, but it cannot be understood by the analysis.
1242
+ #
1243
+ # private(var)
1244
+ # ^^^ Invalid method visibility.
1245
+ # ```
1246
+ #
1247
+ # pkg:gem/rubydex#lib/rubydex/rules/invalid_method_visibility.rb:18
1248
+ class Rubydex::Rules::InvalidMethodVisibility < ::Rubydex::Rule
1249
+ class << self
1250
+ # @override
1251
+ #
1252
+ # pkg:gem/rubydex#lib/rubydex/rules/invalid_method_visibility.rb:22
1253
+ sig { override.returns(T.class_of(Rubydex::Severity::Base)) }
1254
+ def default_severity; end
1255
+ end
1256
+ end
1257
+
1258
+ # A parse error represents invalid Ruby syntax and a program that will fail to execute. For example, a missing
1259
+ # `end`, an unterminated string, a missing parenthesis.
1260
+ #
1261
+ # ```ruby
1262
+ # class Foo
1263
+ # ^^^^^ Syntax error. Missing end token
1264
+ # ```
1265
+ #
1266
+ # pkg:gem/rubydex#lib/rubydex/rules/parse_error.rb:15
1267
+ class Rubydex::Rules::ParseError < ::Rubydex::Rule
1268
+ class << self
1269
+ # @override
1270
+ #
1271
+ # pkg:gem/rubydex#lib/rubydex/rules/parse_error.rb:19
1272
+ sig { override.returns(T.class_of(Rubydex::Severity::Base)) }
1273
+ def default_severity; end
1274
+ end
1275
+ end
1276
+
1277
+ # Parse warnings represent code that has valid syntax, but may not do what the developer expects. For example,
1278
+ # local variables that are completely unused or usage in a void context (creating a line of code that does
1279
+ # nothing).
1280
+ #
1281
+ # ```ruby
1282
+ # CONST = 1
1283
+ # CONST
1284
+ # ^^^^^ Constant used in void context (the expression does nothing).
1285
+ # puts CONST + 2
1286
+ # ```
1287
+ #
1288
+ # pkg:gem/rubydex#lib/rubydex/rules/parse_warning.rb:18
1289
+ class Rubydex::Rules::ParseWarning < ::Rubydex::Rule
1290
+ class << self
1291
+ # @override
1292
+ #
1293
+ # pkg:gem/rubydex#lib/rubydex/rules/parse_warning.rb:22
1294
+ sig { override.returns(T.class_of(Rubydex::Severity::Base)) }
1295
+ def default_severity; end
1296
+ end
1297
+ end
1298
+
1299
+ # The top level of a Ruby program is the special <main> object. It is not possible to use `include self` or
1300
+ # `extend self` on that object.
1301
+ #
1302
+ # ```ruby
1303
+ # include self
1304
+ # ^^^^ Cannot include self at the top level
1305
+ # extend self
1306
+ # ^^^^ Cannot extend self at the top level
1307
+ # ```
1308
+ #
1309
+ # pkg:gem/rubydex#lib/rubydex/rules/top_level_mixin_self.rb:17
1310
+ class Rubydex::Rules::TopLevelMixinSelf < ::Rubydex::Rule
1311
+ class << self
1312
+ # @override
1313
+ #
1314
+ # pkg:gem/rubydex#lib/rubydex/rules/top_level_mixin_self.rb:21
1315
+ sig { override.returns(T.class_of(Rubydex::Severity::Base)) }
1316
+ def default_severity; end
1317
+ end
1318
+ end
1319
+
1320
+ # Undefined constant visibility target means the analysis couldn't find the definition for the constant the code is
1321
+ # attempting to change visibility of. It could be defined through meta-programming or it indeed does not exist.
1322
+ #
1323
+ # ```ruby
1324
+ # class Foo
1325
+ # private_constant :Bar
1326
+ # ^^^ Undefined constant visibility target. The constant `Bar` is not defined.
1327
+ # end
1328
+ # ```
1329
+ #
1330
+ # pkg:gem/rubydex#lib/rubydex/rules/undefined_constant_visibility_target.rb:17
1331
+ class Rubydex::Rules::UndefinedConstantVisibilityTarget < ::Rubydex::Rule
1332
+ class << self
1333
+ # @override
1334
+ #
1335
+ # pkg:gem/rubydex#lib/rubydex/rules/undefined_constant_visibility_target.rb:21
1336
+ sig { override.returns(T.class_of(Rubydex::Severity::Base)) }
1337
+ def default_severity; end
1338
+ end
1339
+ end
1340
+
1341
+ # Undefined method visibility target means the analysis couldn't find the definition for the method the code is
1342
+ # attempting to change visibility of. It could be defined through meta-programming or it indeed does not exist.
1343
+ #
1344
+ # ```ruby
1345
+ # class Foo
1346
+ # private :bar
1347
+ # ^^^ Undefined method visibility target. The method `bar` is not defined.
1348
+ # end
1349
+ # ```
1350
+ #
1351
+ # pkg:gem/rubydex#lib/rubydex/rules/undefined_method_visibility_target.rb:17
1352
+ class Rubydex::Rules::UndefinedMethodVisibilityTarget < ::Rubydex::Rule
1353
+ class << self
1354
+ # @override
1355
+ #
1356
+ # pkg:gem/rubydex#lib/rubydex/rules/undefined_method_visibility_target.rb:21
1357
+ sig { override.returns(T.class_of(Rubydex::Severity::Base)) }
1358
+ def default_severity; end
1359
+ end
1360
+ end
1361
+
1362
+ # pkg:gem/rubydex#lib/rubydex/severity.rb:4
1363
+ module Rubydex::Severity
1364
+ class << self
1365
+ # pkg:gem/rubydex#lib/rubydex/severity.rb:62
1366
+ sig { params(value: Symbol).returns(T.class_of(Rubydex::Severity::Base)) }
1367
+ def from_value(value); end
1368
+ end
1369
+ end
1370
+
1371
+ # All severities order based on their importance.
1372
+ #
1373
+ # pkg:gem/rubydex#lib/rubydex/severity.rb:57
1374
+ Rubydex::Severity::ALL = T.let(T.unsafe(nil), Array)
1375
+
1376
+ # @abstract
1377
+ #
1378
+ # pkg:gem/rubydex#lib/rubydex/severity.rb:6
1379
+ class Rubydex::Severity::Base
1380
+ abstract!
1381
+
1382
+ class << self
1383
+ # @abstract
1384
+ #
1385
+ # pkg:gem/rubydex#lib/rubydex/severity.rb:10
1386
+ sig { returns(Symbol) }
1387
+ def value; end
1388
+ end
1389
+ end
1390
+
1391
+ # pkg:gem/rubydex#lib/rubydex/severity.rb:16
1392
+ class Rubydex::Severity::Error < ::Rubydex::Severity::Base
1393
+ class << self
1394
+ # @override
1395
+ #
1396
+ # pkg:gem/rubydex#lib/rubydex/severity.rb:20
1397
+ def value; end
1398
+ end
1399
+ end
1400
+
1401
+ # pkg:gem/rubydex#lib/rubydex/severity.rb:46
1402
+ class Rubydex::Severity::Hint < ::Rubydex::Severity::Base
1403
+ class << self
1404
+ # @override
1405
+ #
1406
+ # pkg:gem/rubydex#lib/rubydex/severity.rb:50
1407
+ def value; end
1408
+ end
1409
+ end
1410
+
1411
+ # pkg:gem/rubydex#lib/rubydex/severity.rb:36
1412
+ class Rubydex::Severity::Information < ::Rubydex::Severity::Base
1413
+ class << self
1414
+ # @override
1415
+ #
1416
+ # pkg:gem/rubydex#lib/rubydex/severity.rb:40
1417
+ def value; end
1418
+ end
1419
+ end
1420
+
1421
+ # pkg:gem/rubydex#lib/rubydex/severity.rb:58
1422
+ Rubydex::Severity::VALUE_MAP = T.let(T.unsafe(nil), Hash)
1423
+
1424
+ # pkg:gem/rubydex#lib/rubydex/severity.rb:26
1425
+ class Rubydex::Severity::Warning < ::Rubydex::Severity::Base
1426
+ class << self
1427
+ # @override
1428
+ #
1429
+ # pkg:gem/rubydex#lib/rubydex/severity.rb:30
1430
+ def value; end
1431
+ end
1432
+ end
1433
+
1434
+ # pkg:gem/rubydex#lib/rubydex.rb:14
1435
+ class Rubydex::Signature
1436
+ # pkg:gem/rubydex#lib/rubydex/signature.rb:33
1437
+ sig { params(parameters: T::Array[Rubydex::Signature::Parameter]).void }
1438
+ def initialize(parameters); end
1439
+
1440
+ # pkg:gem/rubydex#lib/rubydex/signature.rb:128
1441
+ sig { returns(T.nilable(Rubydex::Signature::BlockParameter)) }
1442
+ def block_parameter; end
1443
+
1444
+ # pkg:gem/rubydex#lib/rubydex/signature.rb:38
1445
+ sig do
1446
+ returns([
1447
+ T::Array[Rubydex::Signature::PositionalParameter],
1448
+ T::Array[Rubydex::Signature::OptionalPositionalParameter],
1449
+ T.nilable(Rubydex::Signature::RestPositionalParameter),
1450
+ T::Array[Rubydex::Signature::PostParameter],
1451
+ T::Array[Rubydex::Signature::KeywordParameter],
1452
+ T::Array[Rubydex::Signature::OptionalKeywordParameter],
1453
+ T.nilable(Rubydex::Signature::RestKeywordParameter),
1454
+ T.nilable(Rubydex::Signature::ForwardParameter),
1455
+ T.nilable(Rubydex::Signature::BlockParameter),
1456
+ ])
1457
+ end
1458
+ def deconstruct; end
1459
+
1460
+ # pkg:gem/rubydex#lib/rubydex/signature.rb:80
1461
+ sig { params(keys: T.nilable(T::Array[Symbol])).returns(T::Hash[Symbol, T.untyped]) }
1462
+ def deconstruct_keys(keys); end
1463
+
1464
+ # pkg:gem/rubydex#lib/rubydex/signature.rb:125
1465
+ sig { returns(T.nilable(Rubydex::Signature::ForwardParameter)) }
1466
+ def forward_parameter; end
1467
+
1468
+ # pkg:gem/rubydex#lib/rubydex/signature.rb:116
1469
+ sig { returns(T::Array[Rubydex::Signature::KeywordParameter]) }
1470
+ def keyword_parameters; end
1471
+
1472
+ # pkg:gem/rubydex#lib/rubydex/signature.rb:119
1473
+ sig { returns(T::Array[Rubydex::Signature::OptionalKeywordParameter]) }
1474
+ def optional_keyword_parameters; end
1475
+
1476
+ # pkg:gem/rubydex#lib/rubydex/signature.rb:107
1477
+ sig { returns(T::Array[Rubydex::Signature::OptionalPositionalParameter]) }
1478
+ def optional_positional_parameters; end
1479
+
1480
+ # pkg:gem/rubydex#lib/rubydex/signature.rb:30
1481
+ sig { returns(T::Array[Rubydex::Signature::Parameter]) }
1482
+ def parameters; end
1483
+
1484
+ # pkg:gem/rubydex#lib/rubydex/signature.rb:104
1485
+ sig { returns(T::Array[Rubydex::Signature::PositionalParameter]) }
1486
+ def positional_parameters; end
1487
+
1488
+ # pkg:gem/rubydex#lib/rubydex/signature.rb:113
1489
+ sig { returns(T::Array[Rubydex::Signature::PostParameter]) }
1490
+ def post_parameters; end
1491
+
1492
+ # pkg:gem/rubydex#lib/rubydex/signature.rb:122
1493
+ sig { returns(T.nilable(Rubydex::Signature::RestKeywordParameter)) }
1494
+ def rest_keyword_parameter; end
1495
+
1496
+ # pkg:gem/rubydex#lib/rubydex/signature.rb:110
1497
+ sig { returns(T.nilable(Rubydex::Signature::RestPositionalParameter)) }
1498
+ def rest_positional_parameter; end
1499
+ end
1500
+
1501
+ # pkg:gem/rubydex#lib/rubydex.rb:14
1502
+ class Rubydex::Signature::BlockParameter < ::Rubydex::Signature::Parameter; end
1503
+
1504
+ # pkg:gem/rubydex#lib/rubydex/signature.rb:66
1505
+ Rubydex::Signature::DECONSTRUCT_KEYS = T.let(T.unsafe(nil), Array)
1506
+
1507
+ # pkg:gem/rubydex#lib/rubydex.rb:14
1508
+ class Rubydex::Signature::ForwardParameter < ::Rubydex::Signature::Parameter; end
1509
+
1510
+ # pkg:gem/rubydex#lib/rubydex.rb:14
1511
+ class Rubydex::Signature::KeywordParameter < ::Rubydex::Signature::Parameter; end
1512
+
1513
+ # pkg:gem/rubydex#lib/rubydex.rb:14
1514
+ class Rubydex::Signature::OptionalKeywordParameter < ::Rubydex::Signature::Parameter; end
1515
+
1516
+ # pkg:gem/rubydex#lib/rubydex.rb:14
1517
+ class Rubydex::Signature::OptionalPositionalParameter < ::Rubydex::Signature::Parameter; end
1518
+
1519
+ # pkg:gem/rubydex#lib/rubydex.rb:14
1520
+ class Rubydex::Signature::Parameter
1521
+ # pkg:gem/rubydex#lib/rubydex/signature.rb:13
1522
+ sig { params(name: Symbol, location: Rubydex::Location).void }
1523
+ def initialize(name, location); end
1524
+
1525
+ # pkg:gem/rubydex#lib/rubydex/signature.rb:10
1526
+ sig { returns(Rubydex::Location) }
1527
+ def location; end
1528
+
1529
+ # pkg:gem/rubydex#lib/rubydex/signature.rb:7
1530
+ sig { returns(Symbol) }
1531
+ def name; end
1532
+ end
1533
+
1534
+ # pkg:gem/rubydex#lib/rubydex.rb:14
1535
+ class Rubydex::Signature::PositionalParameter < ::Rubydex::Signature::Parameter; end
1536
+
1537
+ # pkg:gem/rubydex#lib/rubydex.rb:14
1538
+ class Rubydex::Signature::PostParameter < ::Rubydex::Signature::Parameter; end
1539
+
1540
+ # pkg:gem/rubydex#lib/rubydex.rb:14
1541
+ class Rubydex::Signature::RestKeywordParameter < ::Rubydex::Signature::Parameter; end
1542
+
1543
+ # pkg:gem/rubydex#lib/rubydex.rb:14
1544
+ class Rubydex::Signature::RestPositionalParameter < ::Rubydex::Signature::Parameter; end
1545
+
1546
+ # pkg:gem/rubydex#lib/rubydex.rb:14
1547
+ class Rubydex::SingletonClass < ::Rubydex::Namespace
1548
+ # pkg:gem/rubydex#lib/rubydex/declaration.rb:40
1549
+ sig { returns(Rubydex::Declaration) }
1550
+ def attached_class; end
1551
+ end
1552
+
1553
+ # pkg:gem/rubydex#lib/rubydex.rb:14
1554
+ class Rubydex::SingletonClassDefinition < ::Rubydex::Definition
1555
+ # pkg:gem/rubydex#lib/rubydex.rb:14
1556
+ sig { returns(T::Array[Rubydex::Mixin]) }
1557
+ def mixins; end
1558
+ end
1559
+
1560
+ # Raised by `Skill.load` when the file cannot be read, is missing frontmatter, has malformed YAML, or lacks the
1561
+ # required `name` or `description` fields.
1562
+ # Every failure to produce a Skill is a `SkillError`, so a caller rescues one class instead
1563
+ # of the union of what `File.read` and Psych happen to raise.
1564
+ #
1565
+ # pkg:gem/rubydex#lib/rubydex/errors.rb:17
1566
+ class Rubydex::SkillError < ::Rubydex::Error; end
1567
+
1568
+ # Raised when a query result names a node that the graph no longer holds, because the graph
1569
+ # changed after the query ran. Reading the rows would silently turn that column from a
1570
+ # `Declaration`, `Definition`, or `Document` handle into a plain String, so it raises instead.
1571
+ # `render`, `columns`, `size`, and `empty?` still work, because they read the executed result set
1572
+ # and never touch the graph.
1573
+ #
1574
+ # The check runs while a row is built, so it covers the rows that a walk has not reached yet. Two
1575
+ # cases fall outside it:
1576
+ #
1577
+ # - A handle that a walk already handed out. Such a handle resolves against the graph on each
1578
+ # call, so a later change to the graph can make it stale. Handles from `Graph#[]` share that
1579
+ # property. This error says nothing about them.
1580
+ # - A re-index that keeps the ids. A declaration id comes from the name, so a file indexed again
1581
+ # under the same names still resolves, and this error does not fire, even though the
1582
+ # definitions and ancestors behind that name may differ.
1583
+ #
1584
+ # pkg:gem/rubydex#lib/rubydex/errors.rb:51
1585
+ class Rubydex::StaleQueryResultError < ::Rubydex::QueryError; end
1586
+
1587
+ # pkg:gem/rubydex#lib/rubydex.rb:14
1588
+ class Rubydex::Todo < ::Rubydex::Namespace; end
1589
+
1590
+ # Raised by `SkillRegistry.load` when the skill directory doesn't exist.
1591
+ #
1592
+ # pkg:gem/rubydex#lib/rubydex/errors.rb:23
1593
+ class Rubydex::UnknownSkillDirectoryError < ::Rubydex::SkillError; end
1594
+
1595
+ # Raised by `SkillRegistry#fetch` when the library has no skill under the requested id.
1596
+ #
1597
+ # pkg:gem/rubydex#lib/rubydex/errors.rb:20
1598
+ class Rubydex::UnknownSkillError < ::Rubydex::SkillError; end
1599
+
1600
+ # pkg:gem/rubydex#lib/rubydex.rb:14
1601
+ class Rubydex::UnresolvedConstantReference < ::Rubydex::ConstantReference
1602
+ # pkg:gem/rubydex#lib/rubydex.rb:14
1603
+ sig { returns(String) }
1604
+ def name; end
1605
+ end
1606
+
1607
+ # pkg:gem/rubydex#lib/rubydex/version.rb:4
1608
+ Rubydex::VERSION = T.let(T.unsafe(nil), String)
1609
+
1610
+ # pkg:gem/rubydex#lib/rubydex/declaration.rb:4
1611
+ module Rubydex::Visibility
1612
+ # pkg:gem/rubydex#lib/rubydex/declaration.rb:9
1613
+ def private?; end
1614
+
1615
+ # pkg:gem/rubydex#lib/rubydex/declaration.rb:12
1616
+ def protected?; end
1617
+
1618
+ # pkg:gem/rubydex#lib/rubydex/declaration.rb:6
1619
+ def public?; end
1620
+ end