u-struct 1.0.0 → 1.1.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 (58) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/ci.yml +5 -5
  3. data/.rubocop.yml +129 -0
  4. data/.rubocop_todo.yml +10 -0
  5. data/.tool-versions +1 -0
  6. data/CHANGELOG.md +115 -27
  7. data/Gemfile +14 -3
  8. data/README.md +166 -62
  9. data/Rakefile +5 -5
  10. data/bin/console +3 -3
  11. data/bin/prepare_coverage +7 -9
  12. data/bin/run_ci +17 -0
  13. data/bin/tapioca +28 -0
  14. data/examples/rgb/number.rb +1 -1
  15. data/examples/rgb_1.rb +3 -3
  16. data/examples/rgb_2.rb +2 -2
  17. data/examples/rgb_3.rb +1 -1
  18. data/lib/micro/struct/factory/create_struct.rb +12 -5
  19. data/lib/micro/struct/factory/members.rb +1 -0
  20. data/lib/micro/struct/factory.rb +10 -5
  21. data/lib/micro/struct/features.rb +18 -23
  22. data/lib/micro/struct/normalize_names.rb +4 -3
  23. data/lib/micro/struct/version.rb +2 -1
  24. data/lib/micro/struct.rb +32 -5
  25. data/lib/u-struct.rb +2 -0
  26. data/rbi/micro/struct/factory/create_struct.rbi +60 -0
  27. data/rbi/micro/struct/factory/members.rbi +67 -0
  28. data/rbi/micro/struct/factory.rbi +41 -0
  29. data/rbi/micro/struct/features.rbi +41 -0
  30. data/rbi/micro/struct/normalize_names.rbi +20 -0
  31. data/rbi/micro/struct/version.rbi +3 -0
  32. data/rbi/micro/struct.rbi +68 -0
  33. data/sorbet/config +8 -0
  34. data/sorbet/rbi/gems/ast@2.4.2.rbi +54 -0
  35. data/sorbet/rbi/gems/coderay@1.1.3.rbi +8 -0
  36. data/sorbet/rbi/gems/diff-lcs@1.5.0.rbi +11 -0
  37. data/sorbet/rbi/gems/docile@1.4.0.rbi +54 -0
  38. data/sorbet/rbi/gems/method_source@1.0.0.rbi +8 -0
  39. data/sorbet/rbi/gems/minitest@5.15.0.rbi +345 -0
  40. data/sorbet/rbi/gems/parser@3.1.0.0.rbi +1196 -0
  41. data/sorbet/rbi/gems/pry@0.14.1.rbi +8 -0
  42. data/sorbet/rbi/gems/rake@13.0.6.rbi +806 -0
  43. data/sorbet/rbi/gems/rbi@0.0.9.rbi +1602 -0
  44. data/sorbet/rbi/gems/simplecov-html@0.12.3.rbi +89 -0
  45. data/sorbet/rbi/gems/simplecov@0.21.2.rbi +577 -0
  46. data/sorbet/rbi/gems/simplecov_json_formatter@0.1.3.rbi +8 -0
  47. data/sorbet/rbi/gems/spoom@1.1.8.rbi +1252 -0
  48. data/sorbet/rbi/gems/tapioca@0.6.2.rbi +1232 -0
  49. data/sorbet/rbi/gems/thor@1.2.1.rbi +844 -0
  50. data/sorbet/rbi/gems/unparser@0.6.3.rbi +8 -0
  51. data/sorbet/rbi/gems/webrick@1.7.0.rbi +601 -0
  52. data/sorbet/rbi/gems/yard-sorbet@0.6.1.rbi +199 -0
  53. data/sorbet/rbi/gems/yard@0.9.27.rbi +4112 -0
  54. data/sorbet/tapioca/config.yml +13 -0
  55. data/sorbet/tapioca/require.rb +4 -0
  56. data/u-struct.gemspec +3 -3
  57. metadata +37 -3
  58. data/bin/test +0 -8
@@ -0,0 +1,806 @@
1
+ # typed: true
2
+
3
+ # DO NOT EDIT MANUALLY
4
+ # This is an autogenerated file for types exported from the `rake` gem.
5
+ # Please instead update this file by running `bin/tapioca gem rake`.
6
+
7
+ FileList = Rake::FileList
8
+
9
+ module FileUtils
10
+ include ::FileUtils::StreamUtils_
11
+ extend ::FileUtils::StreamUtils_
12
+
13
+ def ruby(*args, **options, &block); end
14
+ def safe_ln(*args, **options); end
15
+ def sh(*cmd, &block); end
16
+ def split_all(path); end
17
+
18
+ private
19
+
20
+ def create_shell_runner(cmd); end
21
+ def set_verbose_option(options); end
22
+ def sh_show_command(cmd); end
23
+ end
24
+
25
+ FileUtils::LN_SUPPORTED = T.let(T.unsafe(nil), Array)
26
+ FileUtils::RUBY = T.let(T.unsafe(nil), String)
27
+
28
+ class Module
29
+ def rake_extension(method); end
30
+ end
31
+
32
+ module Rake
33
+ extend ::FileUtils::StreamUtils_
34
+ extend ::FileUtils
35
+ extend ::Rake::FileUtilsExt
36
+
37
+ class << self
38
+ def add_rakelib(*files); end
39
+ def application; end
40
+ def application=(app); end
41
+ def each_dir_parent(dir); end
42
+ def from_pathname(path); end
43
+ def load_rakefile(path); end
44
+ def original_dir; end
45
+ def suggested_thread_count; end
46
+ def with_application(block_application = T.unsafe(nil)); end
47
+ end
48
+ end
49
+
50
+ class Rake::Application
51
+ include ::Rake::TaskManager
52
+ include ::Rake::TraceOutput
53
+
54
+ def initialize; end
55
+
56
+ def add_import(fn); end
57
+ def add_loader(ext, loader); end
58
+ def collect_command_line_tasks(args); end
59
+ def default_task_name; end
60
+ def deprecate(old_usage, new_usage, call_site); end
61
+ def display_cause_details(ex); end
62
+ def display_error_message(ex); end
63
+ def display_exception_backtrace(ex); end
64
+ def display_exception_details(ex); end
65
+ def display_exception_details_seen; end
66
+ def display_exception_message_details(ex); end
67
+ def display_prerequisites; end
68
+ def display_tasks_and_comments; end
69
+ def dynamic_width; end
70
+ def dynamic_width_stty; end
71
+ def dynamic_width_tput; end
72
+ def exit_because_of_exception(ex); end
73
+ def find_rakefile_location; end
74
+ def handle_options(argv); end
75
+ def has_cause?(ex); end
76
+ def have_rakefile; end
77
+ def init(app_name = T.unsafe(nil), argv = T.unsafe(nil)); end
78
+ def invoke_task(task_string); end
79
+ def load_imports; end
80
+ def load_rakefile; end
81
+ def name; end
82
+ def options; end
83
+ def original_dir; end
84
+ def parse_task_string(string); end
85
+ def print_rakefile_directory(location); end
86
+ def rake_require(file_name, paths = T.unsafe(nil), loaded = T.unsafe(nil)); end
87
+ def rakefile; end
88
+ def rakefile_location(backtrace = T.unsafe(nil)); end
89
+ def raw_load_rakefile; end
90
+ def run(argv = T.unsafe(nil)); end
91
+ def run_with_threads; end
92
+ def set_default_options; end
93
+ def standard_exception_handling; end
94
+ def standard_rake_options; end
95
+ def system_dir; end
96
+ def terminal_columns; end
97
+ def terminal_columns=(_arg0); end
98
+ def terminal_width; end
99
+ def thread_pool; end
100
+ def top_level; end
101
+ def top_level_tasks; end
102
+ def trace(*strings); end
103
+ def truncate(string, width); end
104
+ def truncate_output?; end
105
+ def tty_output=(_arg0); end
106
+ def tty_output?; end
107
+ def unix?; end
108
+ def windows?; end
109
+
110
+ private
111
+
112
+ def glob(path, &block); end
113
+ def has_chain?(exception); end
114
+ def select_tasks_to_show(options, show_tasks, value); end
115
+ def select_trace_output(options, trace_option, value); end
116
+ def sort_options(options); end
117
+ def standard_system_dir; end
118
+ end
119
+
120
+ Rake::Application::DEFAULT_RAKEFILES = T.let(T.unsafe(nil), Array)
121
+
122
+ module Rake::Backtrace
123
+ class << self
124
+ def collapse(backtrace); end
125
+ end
126
+ end
127
+
128
+ Rake::Backtrace::SUPPRESSED_PATHS = T.let(T.unsafe(nil), Array)
129
+ Rake::Backtrace::SUPPRESSED_PATHS_RE = T.let(T.unsafe(nil), String)
130
+ Rake::Backtrace::SUPPRESS_PATTERN = T.let(T.unsafe(nil), Regexp)
131
+ Rake::Backtrace::SYS_KEYS = T.let(T.unsafe(nil), Array)
132
+ Rake::Backtrace::SYS_PATHS = T.let(T.unsafe(nil), Array)
133
+
134
+ module Rake::Cloneable
135
+ private
136
+
137
+ def initialize_copy(source); end
138
+ end
139
+
140
+ class Rake::CommandLineOptionError < ::StandardError; end
141
+
142
+ class Rake::CpuCounter
143
+ def count; end
144
+ def count_with_default(default = T.unsafe(nil)); end
145
+
146
+ class << self
147
+ def count; end
148
+ end
149
+ end
150
+
151
+ module Rake::DSL
152
+ include ::FileUtils::StreamUtils_
153
+ include ::FileUtils
154
+ include ::Rake::FileUtilsExt
155
+
156
+ private
157
+
158
+ def desc(description); end
159
+ def directory(*args, &block); end
160
+ def file(*args, &block); end
161
+ def file_create(*args, &block); end
162
+ def import(*fns); end
163
+ def multitask(*args, &block); end
164
+ def namespace(name = T.unsafe(nil), &block); end
165
+ def rule(*args, &block); end
166
+ def task(*args, &block); end
167
+ end
168
+
169
+ class Rake::DefaultLoader
170
+ def load(fn); end
171
+ end
172
+
173
+ Rake::EARLY = T.let(T.unsafe(nil), Rake::EarlyTime)
174
+ Rake::EMPTY_TASK_ARGS = T.let(T.unsafe(nil), Rake::TaskArguments)
175
+
176
+ class Rake::EarlyTime
177
+ include ::Comparable
178
+ include ::Singleton
179
+ extend ::Singleton::SingletonClassMethods
180
+
181
+ def <=>(other); end
182
+ def to_s; end
183
+ end
184
+
185
+ class Rake::FileCreationTask < ::Rake::FileTask
186
+ def needed?; end
187
+ def timestamp; end
188
+ end
189
+
190
+ class Rake::FileList
191
+ include ::Rake::Cloneable
192
+
193
+ def initialize(*patterns); end
194
+
195
+ def &(*args, &block); end
196
+ def *(other); end
197
+ def +(*args, &block); end
198
+ def -(*args, &block); end
199
+ def <<(obj); end
200
+ def <=>(*args, &block); end
201
+ def ==(array); end
202
+ def [](*args, &block); end
203
+ def []=(*args, &block); end
204
+ def add(*filenames); end
205
+ def all?(*args, &block); end
206
+ def any?(*args, &block); end
207
+ def append(*args, &block); end
208
+ def assoc(*args, &block); end
209
+ def at(*args, &block); end
210
+ def bsearch(*args, &block); end
211
+ def bsearch_index(*args, &block); end
212
+ def chain(*args, &block); end
213
+ def chunk(*args, &block); end
214
+ def chunk_while(*args, &block); end
215
+ def clear(*args, &block); end
216
+ def clear_exclude; end
217
+ def collect(*args, &block); end
218
+ def collect!(*args, &block); end
219
+ def collect_concat(*args, &block); end
220
+ def combination(*args, &block); end
221
+ def compact(*args, &block); end
222
+ def compact!(*args, &block); end
223
+ def concat(*args, &block); end
224
+ def count(*args, &block); end
225
+ def cycle(*args, &block); end
226
+ def deconstruct(*args, &block); end
227
+ def delete(*args, &block); end
228
+ def delete_at(*args, &block); end
229
+ def delete_if(*args, &block); end
230
+ def detect(*args, &block); end
231
+ def difference(*args, &block); end
232
+ def dig(*args, &block); end
233
+ def drop(*args, &block); end
234
+ def drop_while(*args, &block); end
235
+ def each(*args, &block); end
236
+ def each_cons(*args, &block); end
237
+ def each_entry(*args, &block); end
238
+ def each_index(*args, &block); end
239
+ def each_slice(*args, &block); end
240
+ def each_with_index(*args, &block); end
241
+ def each_with_object(*args, &block); end
242
+ def egrep(pattern, *options); end
243
+ def empty?(*args, &block); end
244
+ def entries(*args, &block); end
245
+ def exclude(*patterns, &block); end
246
+ def excluded_from_list?(fn); end
247
+ def existing; end
248
+ def existing!; end
249
+ def ext(newext = T.unsafe(nil)); end
250
+ def fetch(*args, &block); end
251
+ def fill(*args, &block); end
252
+ def filter(*args, &block); end
253
+ def filter!(*args, &block); end
254
+ def filter_map(*args, &block); end
255
+ def find(*args, &block); end
256
+ def find_all(*args, &block); end
257
+ def find_index(*args, &block); end
258
+ def first(*args, &block); end
259
+ def flat_map(*args, &block); end
260
+ def flatten(*args, &block); end
261
+ def flatten!(*args, &block); end
262
+ def grep(*args, &block); end
263
+ def grep_v(*args, &block); end
264
+ def group_by(*args, &block); end
265
+ def gsub(pat, rep); end
266
+ def gsub!(pat, rep); end
267
+ def import(array); end
268
+ def include(*filenames); end
269
+ def include?(*args, &block); end
270
+ def index(*args, &block); end
271
+ def inject(*args, &block); end
272
+ def insert(*args, &block); end
273
+ def inspect(*args, &block); end
274
+ def intersection(*args, &block); end
275
+ def is_a?(klass); end
276
+ def join(*args, &block); end
277
+ def keep_if(*args, &block); end
278
+ def kind_of?(klass); end
279
+ def last(*args, &block); end
280
+ def lazy(*args, &block); end
281
+ def length(*args, &block); end
282
+ def map(*args, &block); end
283
+ def map!(*args, &block); end
284
+ def max(*args, &block); end
285
+ def max_by(*args, &block); end
286
+ def member?(*args, &block); end
287
+ def min(*args, &block); end
288
+ def min_by(*args, &block); end
289
+ def minmax(*args, &block); end
290
+ def minmax_by(*args, &block); end
291
+ def none?(*args, &block); end
292
+ def one?(*args, &block); end
293
+ def pack(*args, &block); end
294
+ def partition(&block); end
295
+ def pathmap(spec = T.unsafe(nil), &block); end
296
+ def permutation(*args, &block); end
297
+ def place(*args, &block); end
298
+ def pop(*args, &block); end
299
+ def prepend(*args, &block); end
300
+ def product(*args, &block); end
301
+ def push(*args, &block); end
302
+ def rassoc(*args, &block); end
303
+ def reduce(*args, &block); end
304
+ def reject(*args, &block); end
305
+ def reject!(*args, &block); end
306
+ def repeated_combination(*args, &block); end
307
+ def repeated_permutation(*args, &block); end
308
+ def replace(*args, &block); end
309
+ def resolve; end
310
+ def reverse(*args, &block); end
311
+ def reverse!(*args, &block); end
312
+ def reverse_each(*args, &block); end
313
+ def rindex(*args, &block); end
314
+ def rotate(*args, &block); end
315
+ def rotate!(*args, &block); end
316
+ def sample(*args, &block); end
317
+ def select(*args, &block); end
318
+ def select!(*args, &block); end
319
+ def shelljoin(*args, &block); end
320
+ def shift(*args, &block); end
321
+ def shuffle(*args, &block); end
322
+ def shuffle!(*args, &block); end
323
+ def size(*args, &block); end
324
+ def slice(*args, &block); end
325
+ def slice!(*args, &block); end
326
+ def slice_after(*args, &block); end
327
+ def slice_before(*args, &block); end
328
+ def slice_when(*args, &block); end
329
+ def sort(*args, &block); end
330
+ def sort!(*args, &block); end
331
+ def sort_by(*args, &block); end
332
+ def sort_by!(*args, &block); end
333
+ def sub(pat, rep); end
334
+ def sub!(pat, rep); end
335
+ def sum(*args, &block); end
336
+ def take(*args, &block); end
337
+ def take_while(*args, &block); end
338
+ def tally(*args, &block); end
339
+ def to_a; end
340
+ def to_ary; end
341
+ def to_h(*args, &block); end
342
+ def to_s; end
343
+ def to_set(*args, &block); end
344
+ def transpose(*args, &block); end
345
+ def union(*args, &block); end
346
+ def uniq(*args, &block); end
347
+ def uniq!(*args, &block); end
348
+ def unshift(*args, &block); end
349
+ def values_at(*args, &block); end
350
+ def zip(*args, &block); end
351
+ def |(*args, &block); end
352
+
353
+ private
354
+
355
+ def add_matching(pattern); end
356
+ def resolve_add(fn); end
357
+ def resolve_exclude; end
358
+
359
+ class << self
360
+ def [](*args); end
361
+ def glob(pattern, *args); end
362
+ end
363
+ end
364
+
365
+ Rake::FileList::ARRAY_METHODS = T.let(T.unsafe(nil), Array)
366
+ Rake::FileList::DEFAULT_IGNORE_PATTERNS = T.let(T.unsafe(nil), Array)
367
+ Rake::FileList::DEFAULT_IGNORE_PROCS = T.let(T.unsafe(nil), Array)
368
+ Rake::FileList::DELEGATING_METHODS = T.let(T.unsafe(nil), Array)
369
+ Rake::FileList::GLOB_PATTERN = T.let(T.unsafe(nil), Regexp)
370
+ Rake::FileList::MUST_DEFINE = T.let(T.unsafe(nil), Array)
371
+ Rake::FileList::MUST_NOT_DEFINE = T.let(T.unsafe(nil), Array)
372
+ Rake::FileList::SPECIAL_RETURN = T.let(T.unsafe(nil), Array)
373
+
374
+ class Rake::FileTask < ::Rake::Task
375
+ def needed?; end
376
+ def timestamp; end
377
+
378
+ private
379
+
380
+ def out_of_date?(stamp); end
381
+
382
+ class << self
383
+ def scope_name(scope, task_name); end
384
+ end
385
+ end
386
+
387
+ module Rake::FileUtilsExt
388
+ include ::FileUtils::StreamUtils_
389
+ include ::FileUtils
390
+ extend ::FileUtils::StreamUtils_
391
+ extend ::FileUtils
392
+ extend ::Rake::FileUtilsExt
393
+
394
+ def cd(*args, **options, &block); end
395
+ def chdir(*args, **options, &block); end
396
+ def chmod(*args, **options, &block); end
397
+ def chmod_R(*args, **options, &block); end
398
+ def chown(*args, **options, &block); end
399
+ def chown_R(*args, **options, &block); end
400
+ def copy(*args, **options, &block); end
401
+ def cp(*args, **options, &block); end
402
+ def cp_lr(*args, **options, &block); end
403
+ def cp_r(*args, **options, &block); end
404
+ def install(*args, **options, &block); end
405
+ def link(*args, **options, &block); end
406
+ def ln(*args, **options, &block); end
407
+ def ln_s(*args, **options, &block); end
408
+ def ln_sf(*args, **options, &block); end
409
+ def makedirs(*args, **options, &block); end
410
+ def mkdir(*args, **options, &block); end
411
+ def mkdir_p(*args, **options, &block); end
412
+ def mkpath(*args, **options, &block); end
413
+ def move(*args, **options, &block); end
414
+ def mv(*args, **options, &block); end
415
+ def nowrite(value = T.unsafe(nil)); end
416
+ def rake_check_options(options, *optdecl); end
417
+ def rake_output_message(message); end
418
+ def remove(*args, **options, &block); end
419
+ def rm(*args, **options, &block); end
420
+ def rm_f(*args, **options, &block); end
421
+ def rm_r(*args, **options, &block); end
422
+ def rm_rf(*args, **options, &block); end
423
+ def rmdir(*args, **options, &block); end
424
+ def rmtree(*args, **options, &block); end
425
+ def safe_unlink(*args, **options, &block); end
426
+ def symlink(*args, **options, &block); end
427
+ def touch(*args, **options, &block); end
428
+ def verbose(value = T.unsafe(nil)); end
429
+ def when_writing(msg = T.unsafe(nil)); end
430
+
431
+ class << self
432
+ def nowrite_flag; end
433
+ def nowrite_flag=(_arg0); end
434
+ def verbose_flag; end
435
+ def verbose_flag=(_arg0); end
436
+ end
437
+ end
438
+
439
+ Rake::FileUtilsExt::DEFAULT = T.let(T.unsafe(nil), Object)
440
+
441
+ class Rake::InvocationChain < ::Rake::LinkedList
442
+ def append(invocation); end
443
+ def member?(invocation); end
444
+ def to_s; end
445
+
446
+ private
447
+
448
+ def prefix; end
449
+
450
+ class << self
451
+ def append(invocation, chain); end
452
+ end
453
+ end
454
+
455
+ Rake::InvocationChain::EMPTY = T.let(T.unsafe(nil), Rake::InvocationChain::EmptyInvocationChain)
456
+
457
+ class Rake::InvocationChain::EmptyInvocationChain < ::Rake::LinkedList::EmptyLinkedList
458
+ def append(invocation); end
459
+ def member?(obj); end
460
+ def to_s; end
461
+ end
462
+
463
+ module Rake::InvocationExceptionMixin
464
+ def chain; end
465
+ def chain=(value); end
466
+ end
467
+
468
+ Rake::LATE = T.let(T.unsafe(nil), Rake::LateTime)
469
+
470
+ class Rake::LateTime
471
+ include ::Comparable
472
+ include ::Singleton
473
+ extend ::Singleton::SingletonClassMethods
474
+
475
+ def <=>(other); end
476
+ def to_s; end
477
+ end
478
+
479
+ class Rake::LinkedList
480
+ include ::Enumerable
481
+
482
+ def initialize(head, tail = T.unsafe(nil)); end
483
+
484
+ def ==(other); end
485
+ def conj(item); end
486
+ def each; end
487
+ def empty?; end
488
+ def head; end
489
+ def inspect; end
490
+ def tail; end
491
+ def to_s; end
492
+
493
+ class << self
494
+ def cons(head, tail); end
495
+ def empty; end
496
+ def make(*args); end
497
+ end
498
+ end
499
+
500
+ Rake::LinkedList::EMPTY = T.let(T.unsafe(nil), Rake::LinkedList::EmptyLinkedList)
501
+
502
+ class Rake::LinkedList::EmptyLinkedList < ::Rake::LinkedList
503
+ def initialize; end
504
+
505
+ def empty?; end
506
+
507
+ class << self
508
+ def cons(head, tail); end
509
+ end
510
+ end
511
+
512
+ class Rake::MultiTask < ::Rake::Task
513
+ private
514
+
515
+ def invoke_prerequisites(task_args, invocation_chain); end
516
+ end
517
+
518
+ class Rake::NameSpace
519
+ def initialize(task_manager, scope_list); end
520
+
521
+ def [](name); end
522
+ def scope; end
523
+ def tasks; end
524
+ end
525
+
526
+ module Rake::PrivateReader
527
+ mixes_in_class_methods ::Rake::PrivateReader::ClassMethods
528
+
529
+ class << self
530
+ def included(base); end
531
+ end
532
+ end
533
+
534
+ module Rake::PrivateReader::ClassMethods
535
+ def private_reader(*names); end
536
+ end
537
+
538
+ class Rake::Promise
539
+ def initialize(args, &block); end
540
+
541
+ def recorder; end
542
+ def recorder=(_arg0); end
543
+ def value; end
544
+ def work; end
545
+
546
+ private
547
+
548
+ def chore; end
549
+ def complete?; end
550
+ def discard; end
551
+ def error?; end
552
+ def result?; end
553
+ def stat(*args); end
554
+ end
555
+
556
+ Rake::Promise::NOT_SET = T.let(T.unsafe(nil), Object)
557
+
558
+ class Rake::PseudoStatus
559
+ def initialize(code = T.unsafe(nil)); end
560
+
561
+ def >>(n); end
562
+ def exited?; end
563
+ def exitstatus; end
564
+ def stopped?; end
565
+ def to_i; end
566
+ end
567
+
568
+ Rake::RDocTask = Thor::Task
569
+
570
+ class Rake::RuleRecursionOverflowError < ::StandardError
571
+ def initialize(*args); end
572
+
573
+ def add_target(target); end
574
+ def message; end
575
+ end
576
+
577
+ class Rake::Scope < ::Rake::LinkedList
578
+ def path; end
579
+ def path_with_task_name(task_name); end
580
+ def trim(n); end
581
+ end
582
+
583
+ Rake::Scope::EMPTY = T.let(T.unsafe(nil), Rake::Scope::EmptyScope)
584
+
585
+ class Rake::Scope::EmptyScope < ::Rake::LinkedList::EmptyLinkedList
586
+ def path; end
587
+ def path_with_task_name(task_name); end
588
+ end
589
+
590
+ class Rake::Task
591
+ def initialize(task_name, app); end
592
+
593
+ def actions; end
594
+ def add_description(description); end
595
+ def all_prerequisite_tasks; end
596
+ def already_invoked; end
597
+ def application; end
598
+ def application=(_arg0); end
599
+ def arg_description; end
600
+ def arg_names; end
601
+ def clear; end
602
+ def clear_actions; end
603
+ def clear_args; end
604
+ def clear_comments; end
605
+ def clear_prerequisites; end
606
+ def comment; end
607
+ def comment=(comment); end
608
+ def enhance(deps = T.unsafe(nil), &block); end
609
+ def execute(args = T.unsafe(nil)); end
610
+ def full_comment; end
611
+ def inspect; end
612
+ def investigation; end
613
+ def invoke(*args); end
614
+ def invoke_prerequisites(task_args, invocation_chain); end
615
+ def invoke_prerequisites_concurrently(task_args, invocation_chain); end
616
+ def locations; end
617
+ def name; end
618
+ def name_with_args; end
619
+ def needed?; end
620
+ def order_only_prerequisites; end
621
+ def prereqs; end
622
+ def prerequisite_tasks; end
623
+ def prerequisites; end
624
+ def reenable; end
625
+ def scope; end
626
+ def set_arg_names(args); end
627
+ def source; end
628
+ def sources; end
629
+ def sources=(_arg0); end
630
+ def timestamp; end
631
+ def to_s; end
632
+ def |(deps); end
633
+
634
+ protected
635
+
636
+ def collect_prerequisites(seen); end
637
+ def invoke_with_call_chain(task_args, invocation_chain); end
638
+
639
+ private
640
+
641
+ def add_chain_to(exception, new_chain); end
642
+ def add_comment(comment); end
643
+ def first_sentence(string); end
644
+ def format_trace_flags; end
645
+ def lookup_prerequisite(prerequisite_name); end
646
+ def transform_comments(separator, &block); end
647
+
648
+ class << self
649
+ def [](task_name); end
650
+ def clear; end
651
+ def create_rule(*args, &block); end
652
+ def define_task(*args, &block); end
653
+ def format_deps(deps); end
654
+ def scope_name(scope, task_name); end
655
+ def task_defined?(task_name); end
656
+ def tasks; end
657
+ end
658
+ end
659
+
660
+ class Rake::TaskArgumentError < ::ArgumentError; end
661
+
662
+ class Rake::TaskArguments
663
+ include ::Enumerable
664
+
665
+ def initialize(names, values, parent = T.unsafe(nil)); end
666
+
667
+ def [](index); end
668
+ def each(&block); end
669
+ def extras; end
670
+ def fetch(*args, &block); end
671
+ def has_key?(key); end
672
+ def inspect; end
673
+ def key?(key); end
674
+ def method_missing(sym, *args); end
675
+ def names; end
676
+ def new_scope(names); end
677
+ def to_a; end
678
+ def to_hash; end
679
+ def to_s; end
680
+ def values_at(*keys); end
681
+ def with_defaults(defaults); end
682
+
683
+ protected
684
+
685
+ def lookup(name); end
686
+ end
687
+
688
+ class Rake::TaskLib
689
+ include ::Rake::Cloneable
690
+ include ::FileUtils::StreamUtils_
691
+ include ::FileUtils
692
+ include ::Rake::FileUtilsExt
693
+ include ::Rake::DSL
694
+ end
695
+
696
+ module Rake::TaskManager
697
+ def initialize; end
698
+
699
+ def [](task_name, scopes = T.unsafe(nil)); end
700
+ def clear; end
701
+ def create_rule(*args, &block); end
702
+ def current_scope; end
703
+ def define_task(task_class, *args, &block); end
704
+ def enhance_with_matching_rule(task_name, level = T.unsafe(nil)); end
705
+ def generate_did_you_mean_suggestions(task_name); end
706
+ def generate_message_for_undefined_task(task_name); end
707
+ def in_namespace(name); end
708
+ def intern(task_class, task_name); end
709
+ def last_description; end
710
+ def last_description=(_arg0); end
711
+ def lookup(task_name, initial_scope = T.unsafe(nil)); end
712
+ def resolve_args(args); end
713
+ def synthesize_file_task(task_name); end
714
+ def tasks; end
715
+ def tasks_in_scope(scope); end
716
+
717
+ private
718
+
719
+ def add_location(task); end
720
+ def attempt_rule(task_name, task_pattern, args, extensions, block, level); end
721
+ def find_location; end
722
+ def generate_name; end
723
+ def get_description(task); end
724
+ def lookup_in_scope(name, scope); end
725
+ def make_sources(task_name, task_pattern, extensions); end
726
+ def resolve_args_with_dependencies(args, hash); end
727
+ def resolve_args_without_dependencies(args); end
728
+ def trace_rule(level, message); end
729
+
730
+ class << self
731
+ def record_task_metadata; end
732
+ def record_task_metadata=(_arg0); end
733
+ end
734
+ end
735
+
736
+ class Rake::ThreadHistoryDisplay
737
+ include ::Rake::PrivateReader
738
+ extend ::Rake::PrivateReader::ClassMethods
739
+
740
+ def initialize(stats); end
741
+
742
+ def show; end
743
+
744
+ private
745
+
746
+ def items; end
747
+ def rename(hash, key, renames); end
748
+ def stats; end
749
+ def threads; end
750
+ end
751
+
752
+ class Rake::ThreadPool
753
+ def initialize(thread_count); end
754
+
755
+ def future(*args, &block); end
756
+ def gather_history; end
757
+ def history; end
758
+ def join; end
759
+ def statistics; end
760
+
761
+ private
762
+
763
+ def __queue__; end
764
+ def process_queue_item; end
765
+ def safe_thread_count; end
766
+ def start_thread; end
767
+ def stat(event, data = T.unsafe(nil)); end
768
+ end
769
+
770
+ module Rake::TraceOutput
771
+ def trace_on(out, *strings); end
772
+ end
773
+
774
+ Rake::VERSION = T.let(T.unsafe(nil), String)
775
+ module Rake::Version; end
776
+ Rake::Version::BUILD = T.let(T.unsafe(nil), String)
777
+ Rake::Version::MAJOR = T.let(T.unsafe(nil), String)
778
+ Rake::Version::MINOR = T.let(T.unsafe(nil), String)
779
+ Rake::Version::NUMBERS = T.let(T.unsafe(nil), Array)
780
+ Rake::Version::OTHER = T.let(T.unsafe(nil), Array)
781
+
782
+ module Rake::Win32
783
+ class << self
784
+ def normalize(path); end
785
+ def win32_system_dir; end
786
+ def windows?; end
787
+ end
788
+ end
789
+
790
+ class Rake::Win32::Win32HomeError < ::RuntimeError; end
791
+ RakeFileUtils = Rake::FileUtilsExt
792
+
793
+ class String
794
+ include ::Comparable
795
+ include ::JSON::Ext::Generator::GeneratorMethods::String
796
+ extend ::JSON::Ext::Generator::GeneratorMethods::String::Extend
797
+
798
+ def ext(newext = T.unsafe(nil)); end
799
+ def pathmap(spec = T.unsafe(nil), &block); end
800
+
801
+ protected
802
+
803
+ def pathmap_explode; end
804
+ def pathmap_partial(n); end
805
+ def pathmap_replace(patterns, &block); end
806
+ end