packwerk 2.1.1 → 2.2.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (189) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/ci.yml +29 -20
  3. data/.github/workflows/cla.yml +22 -0
  4. data/.rubocop.yml +48 -19
  5. data/Gemfile +7 -2
  6. data/Gemfile.lock +204 -177
  7. data/README.md +7 -2
  8. data/RESOLVING_VIOLATIONS.md +81 -0
  9. data/Rakefile +1 -1
  10. data/USAGE.md +14 -5
  11. data/bin/m +1 -1
  12. data/bin/rake +1 -1
  13. data/bin/rubocop +1 -1
  14. data/bin/srb +1 -1
  15. data/bin/tapioca +1 -1
  16. data/gemfiles/Gemfile-rails-6-0 +1 -1
  17. data/gemfiles/Gemfile-rails-6-1 +22 -0
  18. data/lib/packwerk/application_load_paths.rb +12 -18
  19. data/lib/packwerk/application_validator.rb +7 -6
  20. data/lib/packwerk/association_inspector.rb +17 -15
  21. data/lib/packwerk/cache.rb +36 -29
  22. data/lib/packwerk/cli.rb +14 -8
  23. data/lib/packwerk/const_node_inspector.rb +8 -7
  24. data/lib/packwerk/constant_name_inspector.rb +2 -2
  25. data/lib/packwerk/deprecated_references.rb +34 -19
  26. data/lib/packwerk/file_processor.rb +25 -23
  27. data/lib/packwerk/files_for_processing.rb +33 -35
  28. data/lib/packwerk/formatters/offenses_formatter.rb +3 -3
  29. data/lib/packwerk/formatters/progress_formatter.rb +2 -2
  30. data/lib/packwerk/node.rb +1 -294
  31. data/lib/packwerk/node_helpers.rb +335 -0
  32. data/lib/packwerk/node_processor.rb +6 -5
  33. data/lib/packwerk/node_processor_factory.rb +3 -3
  34. data/lib/packwerk/node_visitor.rb +1 -1
  35. data/lib/packwerk/offense_collection.rb +6 -3
  36. data/lib/packwerk/offenses_formatter.rb +2 -2
  37. data/lib/packwerk/package.rb +3 -0
  38. data/lib/packwerk/package_set.rb +3 -1
  39. data/lib/packwerk/parse_run.rb +15 -13
  40. data/lib/packwerk/parsed_constant_definitions.rb +23 -20
  41. data/lib/packwerk/parsers/erb.rb +3 -3
  42. data/lib/packwerk/parsers/parser_interface.rb +2 -0
  43. data/lib/packwerk/reference_checking/checkers/checker.rb +16 -3
  44. data/lib/packwerk/reference_checking/checkers/dependency_checker.rb +16 -0
  45. data/lib/packwerk/reference_checking/checkers/privacy_checker.rb +18 -0
  46. data/lib/packwerk/reference_checking/reference_checker.rb +4 -4
  47. data/lib/packwerk/reference_extractor.rb +51 -54
  48. data/lib/packwerk/reference_offense.rb +3 -27
  49. data/lib/packwerk/run_context.rb +9 -7
  50. data/lib/packwerk/spring_command.rb +1 -1
  51. data/lib/packwerk/version.rb +1 -1
  52. data/lib/packwerk.rb +1 -0
  53. data/packwerk.gemspec +4 -11
  54. data/sorbet/rbi/gems/actioncable@7.0.3.1.rbi +2754 -0
  55. data/sorbet/rbi/gems/actionmailbox@7.0.3.1.rbi +1496 -0
  56. data/sorbet/rbi/gems/actionmailer@7.0.3.1.rbi +2362 -0
  57. data/sorbet/rbi/gems/actionpack@7.0.3.1.rbi +19397 -0
  58. data/sorbet/rbi/gems/actiontext@7.0.3.1.rbi +1569 -0
  59. data/sorbet/rbi/gems/actionview@7.0.3.1.rbi +14907 -0
  60. data/sorbet/rbi/gems/activejob@7.0.3.1.rbi +2553 -0
  61. data/sorbet/rbi/gems/activemodel@7.0.3.1.rbi +5999 -0
  62. data/sorbet/rbi/gems/activerecord@7.0.3.1.rbi +37832 -0
  63. data/sorbet/rbi/gems/activestorage@7.0.3.1.rbi +2321 -0
  64. data/sorbet/rbi/gems/activesupport@7.0.3.1.rbi +18818 -0
  65. data/sorbet/rbi/gems/concurrent-ruby@1.1.10.rbi +11722 -0
  66. data/sorbet/rbi/gems/constant_resolver@0.2.0.rbi +90 -0
  67. data/sorbet/rbi/gems/diff-lcs@1.5.0.rbi +1079 -0
  68. data/sorbet/rbi/gems/digest@3.1.0.rbi +189 -0
  69. data/sorbet/rbi/gems/erubi@1.11.0.rbi +140 -0
  70. data/sorbet/rbi/gems/globalid@1.0.0.rbi +572 -0
  71. data/sorbet/rbi/gems/i18n@1.12.0.rbi +2296 -0
  72. data/sorbet/rbi/gems/json@2.6.2.rbi +1548 -0
  73. data/sorbet/rbi/gems/language_server-protocol@3.16.0.3.rbi +8 -0
  74. data/sorbet/rbi/gems/loofah@2.18.0.rbi +877 -0
  75. data/sorbet/rbi/gems/m@1.6.0.rbi +257 -0
  76. data/sorbet/rbi/gems/marcel@1.0.2.rbi +220 -0
  77. data/sorbet/rbi/gems/mini_mime@1.1.2.rbi +170 -0
  78. data/sorbet/rbi/gems/mini_portile2@2.8.0.rbi +8 -0
  79. data/sorbet/rbi/gems/minitest-focus@1.3.1.rbi +104 -0
  80. data/sorbet/rbi/gems/minitest@5.16.2.rbi +2136 -0
  81. data/sorbet/rbi/gems/mocha@1.14.0.rbi +4177 -0
  82. data/sorbet/rbi/gems/net-imap@0.2.3.rbi +2147 -0
  83. data/sorbet/rbi/gems/net-pop@0.1.1.rbi +926 -0
  84. data/sorbet/rbi/gems/net-protocol@0.1.3.rbi +11 -0
  85. data/sorbet/rbi/gems/net-smtp@0.3.1.rbi +1108 -0
  86. data/sorbet/rbi/gems/netrc@0.11.0.rbi +153 -0
  87. data/sorbet/rbi/gems/nio4r@2.5.8.rbi +292 -0
  88. data/sorbet/rbi/gems/nokogiri@1.13.8.rbi +6478 -0
  89. data/sorbet/rbi/gems/parallel@1.22.1.rbi +277 -0
  90. data/sorbet/rbi/gems/parser@3.1.2.1.rbi +9029 -0
  91. data/sorbet/rbi/gems/prettier_print@0.1.0.rbi +8 -0
  92. data/sorbet/rbi/gems/pry@0.14.1.rbi +8 -0
  93. data/sorbet/rbi/gems/racc@1.6.0.rbi +152 -0
  94. data/sorbet/rbi/gems/rack-test@2.0.2.rbi +953 -0
  95. data/sorbet/rbi/gems/rack@2.2.4.rbi +5636 -0
  96. data/sorbet/rbi/gems/rails-html-sanitizer@1.4.3.rbi +688 -0
  97. data/sorbet/rbi/gems/rails@7.0.3.1.rbi +8 -0
  98. data/sorbet/rbi/gems/railties@7.0.3.1.rbi +3507 -0
  99. data/sorbet/rbi/gems/rainbow@3.1.1.rbi +392 -0
  100. data/sorbet/rbi/gems/rake@13.0.6.rbi +2924 -0
  101. data/sorbet/rbi/gems/rbi@0.0.15.rbi +3007 -0
  102. data/sorbet/rbi/gems/regexp_parser@2.5.0.rbi +3383 -0
  103. data/sorbet/rbi/gems/rexml@3.2.5.rbi +4714 -0
  104. data/sorbet/rbi/gems/rubocop-ast@1.21.0.rbi +6961 -0
  105. data/sorbet/rbi/gems/rubocop-performance@1.14.3.rbi +2986 -0
  106. data/sorbet/rbi/gems/{rubocop-shopify@2.0.1.rbi → rubocop-shopify@2.9.0.rbi} +4 -4
  107. data/sorbet/rbi/gems/rubocop-sorbet@0.6.11.rbi +992 -0
  108. data/sorbet/rbi/gems/rubocop@1.34.1.rbi +51820 -0
  109. data/sorbet/rbi/gems/ruby-lsp@0.2.1.rbi +11 -0
  110. data/sorbet/rbi/gems/smart_properties@1.17.0.rbi +474 -0
  111. data/sorbet/rbi/gems/spoom@1.1.11.rbi +2181 -0
  112. data/sorbet/rbi/gems/spring@4.0.0.rbi +411 -0
  113. data/sorbet/rbi/gems/strscan@3.0.4.rbi +8 -0
  114. data/sorbet/rbi/gems/syntax_tree@3.3.0.rbi +8 -0
  115. data/sorbet/rbi/gems/tapioca@0.9.2.rbi +3181 -0
  116. data/sorbet/rbi/gems/thor@1.2.1.rbi +3956 -0
  117. data/sorbet/rbi/gems/timeout@0.3.0.rbi +142 -0
  118. data/sorbet/rbi/gems/tzinfo@2.0.5.rbi +5896 -0
  119. data/sorbet/rbi/gems/unicode-display_width@2.2.0.rbi +48 -0
  120. data/sorbet/rbi/gems/unparser@0.6.5.rbi +4529 -0
  121. data/sorbet/rbi/gems/webrick@1.7.0.rbi +2582 -0
  122. data/sorbet/rbi/gems/websocket-driver@0.7.5.rbi +993 -0
  123. data/sorbet/rbi/gems/yard-sorbet@0.6.1.rbi +388 -0
  124. data/sorbet/rbi/gems/yard@0.9.28.rbi +18242 -0
  125. data/sorbet/rbi/gems/zeitwerk@2.6.0.rbi +867 -0
  126. data/sorbet/rbi/shims/psych.rbi +5 -0
  127. data/sorbet/tapioca/require.rb +2 -3
  128. metadata +88 -143
  129. data/.github/probots.yml +0 -2
  130. data/library.yml +0 -6
  131. data/service.yml +0 -1
  132. data/sorbet/rbi/gems/actioncable@7.0.0.alpha-d612542336d9a61381311c95a27d801bb4094779.rbi +0 -860
  133. data/sorbet/rbi/gems/actionmailbox@7.0.0.alpha-d612542336d9a61381311c95a27d801bb4094779.rbi +0 -568
  134. data/sorbet/rbi/gems/actionmailer@7.0.0.alpha-d612542336d9a61381311c95a27d801bb4094779.rbi +0 -587
  135. data/sorbet/rbi/gems/actionpack@7.0.0.alpha-d612542336d9a61381311c95a27d801bb4094779.rbi +0 -5314
  136. data/sorbet/rbi/gems/actiontext@7.0.0.alpha-d612542336d9a61381311c95a27d801bb4094779.rbi +0 -699
  137. data/sorbet/rbi/gems/actionview@7.0.0.alpha-d612542336d9a61381311c95a27d801bb4094779.rbi +0 -2515
  138. data/sorbet/rbi/gems/activejob@7.0.0.alpha-d612542336d9a61381311c95a27d801bb4094779.rbi +0 -624
  139. data/sorbet/rbi/gems/activemodel@7.0.0.alpha-d612542336d9a61381311c95a27d801bb4094779.rbi +0 -1248
  140. data/sorbet/rbi/gems/activerecord@7.0.0.alpha-d612542336d9a61381311c95a27d801bb4094779.rbi +0 -8363
  141. data/sorbet/rbi/gems/activestorage@7.0.0.alpha-d612542336d9a61381311c95a27d801bb4094779.rbi +0 -876
  142. data/sorbet/rbi/gems/activesupport@7.0.0.alpha-d612542336d9a61381311c95a27d801bb4094779.rbi +0 -3987
  143. data/sorbet/rbi/gems/colorize@0.8.1.rbi +0 -40
  144. data/sorbet/rbi/gems/commander@4.5.2.rbi +0 -8
  145. data/sorbet/rbi/gems/concurrent-ruby@1.1.8.rbi +0 -1969
  146. data/sorbet/rbi/gems/constant_resolver@0.1.5.rbi +0 -26
  147. data/sorbet/rbi/gems/erubi@1.10.0.rbi +0 -41
  148. data/sorbet/rbi/gems/globalid@0.4.2.rbi +0 -178
  149. data/sorbet/rbi/gems/highline@2.0.3.rbi +0 -8
  150. data/sorbet/rbi/gems/i18n@1.8.10.rbi +0 -600
  151. data/sorbet/rbi/gems/loofah@2.9.0.rbi +0 -274
  152. data/sorbet/rbi/gems/m@1.5.1.rbi +0 -108
  153. data/sorbet/rbi/gems/marcel@1.0.0.rbi +0 -70
  154. data/sorbet/rbi/gems/mini_mime@1.0.3.rbi +0 -71
  155. data/sorbet/rbi/gems/minitest-focus@1.2.1.rbi +0 -8
  156. data/sorbet/rbi/gems/minitest@5.14.4.rbi +0 -544
  157. data/sorbet/rbi/gems/mocha@1.12.0.rbi +0 -953
  158. data/sorbet/rbi/gems/nio4r@2.5.7.rbi +0 -90
  159. data/sorbet/rbi/gems/nokogiri@1.11.2.rbi +0 -1647
  160. data/sorbet/rbi/gems/parallel@1.20.1.rbi +0 -117
  161. data/sorbet/rbi/gems/parlour@6.0.0.rbi +0 -1272
  162. data/sorbet/rbi/gems/parser@3.0.0.0.rbi +0 -1745
  163. data/sorbet/rbi/gems/pry@0.14.0.rbi +0 -8
  164. data/sorbet/rbi/gems/psych@3.3.2.rbi +0 -24
  165. data/sorbet/rbi/gems/racc@1.5.2.rbi +0 -57
  166. data/sorbet/rbi/gems/rack-test@1.1.0.rbi +0 -335
  167. data/sorbet/rbi/gems/rack@2.2.3.rbi +0 -1718
  168. data/sorbet/rbi/gems/rails-html-sanitizer@1.3.0.rbi +0 -213
  169. data/sorbet/rbi/gems/rails@7.0.0.alpha-d612542336d9a61381311c95a27d801bb4094779.rbi +0 -8
  170. data/sorbet/rbi/gems/railties@7.0.0.alpha-d612542336d9a61381311c95a27d801bb4094779.rbi +0 -880
  171. data/sorbet/rbi/gems/rainbow@3.0.0.rbi +0 -155
  172. data/sorbet/rbi/gems/rake@13.0.3.rbi +0 -837
  173. data/sorbet/rbi/gems/regexp_parser@2.1.1.rbi +0 -8
  174. data/sorbet/rbi/gems/rexml@3.2.4.rbi +0 -8
  175. data/sorbet/rbi/gems/rubocop-ast@1.4.1.rbi +0 -8
  176. data/sorbet/rbi/gems/rubocop-performance@1.10.2.rbi +0 -8
  177. data/sorbet/rbi/gems/rubocop-sorbet@0.6.1.rbi +0 -8
  178. data/sorbet/rbi/gems/rubocop@1.12.0.rbi +0 -8
  179. data/sorbet/rbi/gems/smart_properties@1.15.0.rbi +0 -168
  180. data/sorbet/rbi/gems/spoom@1.1.0.rbi +0 -1061
  181. data/sorbet/rbi/gems/spring@2.1.1.rbi +0 -160
  182. data/sorbet/rbi/gems/sprockets-rails@3.2.2.rbi +0 -451
  183. data/sorbet/rbi/gems/sprockets@4.0.2.rbi +0 -1133
  184. data/sorbet/rbi/gems/tapioca@0.4.19.rbi +0 -603
  185. data/sorbet/rbi/gems/thor@1.1.0.rbi +0 -893
  186. data/sorbet/rbi/gems/tzinfo@2.0.4.rbi +0 -566
  187. data/sorbet/rbi/gems/unicode-display_width@2.0.0.rbi +0 -8
  188. data/sorbet/rbi/gems/websocket-driver@0.7.3.rbi +0 -438
  189. data/sorbet/rbi/gems/zeitwerk@2.4.2.rbi +0 -177
@@ -1,893 +0,0 @@
1
- # DO NOT EDIT MANUALLY
2
- # This is an autogenerated file for types exported from the `thor` gem.
3
- # Please instead update this file by running `bin/tapioca sync`.
4
-
5
- # typed: true
6
-
7
- class Thor
8
- include(::Thor::Base)
9
- include(::Thor::Invocation)
10
- include(::Thor::Shell)
11
- extend(::Thor::Base::ClassMethods)
12
- extend(::Thor::Invocation::ClassMethods)
13
-
14
- def help(command = T.unsafe(nil), subcommand = T.unsafe(nil)); end
15
-
16
- class << self
17
- def check_unknown_options!(options = T.unsafe(nil)); end
18
- def check_unknown_options?(config); end
19
- def command_help(shell, command_name); end
20
- def default_command(meth = T.unsafe(nil)); end
21
- def default_task(meth = T.unsafe(nil)); end
22
- def deprecation_warning(message); end
23
- def desc(usage, description, options = T.unsafe(nil)); end
24
- def disable_required_check!(*command_names); end
25
- def disable_required_check?(command); end
26
- def help(shell, subcommand = T.unsafe(nil)); end
27
- def long_desc(long_description, options = T.unsafe(nil)); end
28
- def map(mappings = T.unsafe(nil), **kw); end
29
- def method_option(name, options = T.unsafe(nil)); end
30
- def method_options(options = T.unsafe(nil)); end
31
- def option(name, options = T.unsafe(nil)); end
32
- def options(options = T.unsafe(nil)); end
33
- def package_name(name, _ = T.unsafe(nil)); end
34
- def printable_commands(all = T.unsafe(nil), subcommand = T.unsafe(nil)); end
35
- def printable_tasks(all = T.unsafe(nil), subcommand = T.unsafe(nil)); end
36
- def register(klass, subcommand_name, usage, description, options = T.unsafe(nil)); end
37
- def stop_on_unknown_option!(*command_names); end
38
- def stop_on_unknown_option?(command); end
39
- def subcommand(subcommand, subcommand_class); end
40
- def subcommand_classes; end
41
- def subcommands; end
42
- def subtask(subcommand, subcommand_class); end
43
- def subtasks; end
44
- def task_help(shell, command_name); end
45
-
46
- protected
47
-
48
- def banner(command, namespace = T.unsafe(nil), subcommand = T.unsafe(nil)); end
49
- def baseclass; end
50
- def create_command(meth); end
51
- def create_task(meth); end
52
- def disable_required_check; end
53
- def dispatch(meth, given_args, given_opts, config); end
54
- def dynamic_command_class; end
55
- def find_command_possibilities(meth); end
56
- def find_task_possibilities(meth); end
57
- def initialize_added; end
58
- def normalize_command_name(meth); end
59
- def normalize_task_name(meth); end
60
- def retrieve_command_name(args); end
61
- def retrieve_task_name(args); end
62
- def stop_on_unknown_option; end
63
- def subcommand_help(cmd); end
64
- def subtask_help(cmd); end
65
- end
66
- end
67
-
68
- module Thor::Actions
69
- mixes_in_class_methods(::Thor::Actions::ClassMethods)
70
-
71
- def initialize(args = T.unsafe(nil), options = T.unsafe(nil), config = T.unsafe(nil)); end
72
-
73
- def action(instance); end
74
- def add_file(destination, *args, &block); end
75
- def add_link(destination, *args); end
76
- def append_file(path, *args, &block); end
77
- def append_to_file(path, *args, &block); end
78
- def apply(path, config = T.unsafe(nil)); end
79
- def behavior; end
80
- def behavior=(_arg0); end
81
- def chmod(path, mode, config = T.unsafe(nil)); end
82
- def comment_lines(path, flag, *args); end
83
- def copy_file(source, *args, &block); end
84
- def create_file(destination, *args, &block); end
85
- def create_link(destination, *args); end
86
- def destination_root; end
87
- def destination_root=(root); end
88
- def directory(source, *args, &block); end
89
- def empty_directory(destination, config = T.unsafe(nil)); end
90
- def find_in_source_paths(file); end
91
- def get(source, *args, &block); end
92
- def gsub_file(path, flag, *args, &block); end
93
- def in_root; end
94
- def inject_into_class(path, klass, *args, &block); end
95
- def inject_into_file(destination, *args, &block); end
96
- def inject_into_module(path, module_name, *args, &block); end
97
- def insert_into_file(destination, *args, &block); end
98
- def inside(dir = T.unsafe(nil), config = T.unsafe(nil), &block); end
99
- def link_file(source, *args); end
100
- def prepend_file(path, *args, &block); end
101
- def prepend_to_file(path, *args, &block); end
102
- def relative_to_original_destination_root(path, remove_dot = T.unsafe(nil)); end
103
- def remove_dir(path, config = T.unsafe(nil)); end
104
- def remove_file(path, config = T.unsafe(nil)); end
105
- def run(command, config = T.unsafe(nil)); end
106
- def run_ruby_script(command, config = T.unsafe(nil)); end
107
- def source_paths; end
108
- def template(source, *args, &block); end
109
- def thor(command, *args); end
110
- def uncomment_lines(path, flag, *args); end
111
-
112
- protected
113
-
114
- def _cleanup_options_and_set(options, key); end
115
- def _shared_configuration; end
116
-
117
- private
118
-
119
- def capture(*args); end
120
- def concat(string); end
121
- def output_buffer; end
122
- def output_buffer=(_arg0); end
123
- def with_output_buffer(buf = T.unsafe(nil)); end
124
-
125
- class << self
126
- def included(base); end
127
- end
128
- end
129
-
130
- class Thor::Actions::CapturableERB < ::ERB
131
- def set_eoutvar(compiler, eoutvar = T.unsafe(nil)); end
132
- end
133
-
134
- module Thor::Actions::ClassMethods
135
- def add_runtime_options!; end
136
- def source_paths; end
137
- def source_paths_for_search; end
138
- def source_root(path = T.unsafe(nil)); end
139
- end
140
-
141
- class Thor::Actions::CreateFile < ::Thor::Actions::EmptyDirectory
142
- def initialize(base, destination, data, config = T.unsafe(nil)); end
143
-
144
- def data; end
145
- def identical?; end
146
- def invoke!; end
147
- def render; end
148
-
149
- protected
150
-
151
- def force_on_collision?; end
152
- def force_or_skip_or_conflict(force, skip, &block); end
153
- def on_conflict_behavior(&block); end
154
- end
155
-
156
- class Thor::Actions::CreateLink < ::Thor::Actions::CreateFile
157
- def data; end
158
- def exists?; end
159
- def identical?; end
160
- def invoke!; end
161
- end
162
-
163
- class Thor::Actions::Directory < ::Thor::Actions::EmptyDirectory
164
- def initialize(base, source, destination = T.unsafe(nil), config = T.unsafe(nil), &block); end
165
-
166
- def invoke!; end
167
- def revoke!; end
168
- def source; end
169
-
170
- protected
171
-
172
- def execute!; end
173
- def file_level_lookup(previous_lookup); end
174
- def files(lookup); end
175
- end
176
-
177
- class Thor::Actions::EmptyDirectory
178
- def initialize(base, destination, config = T.unsafe(nil)); end
179
-
180
- def base; end
181
- def config; end
182
- def destination; end
183
- def exists?; end
184
- def given_destination; end
185
- def invoke!; end
186
- def relative_destination; end
187
- def revoke!; end
188
-
189
- protected
190
-
191
- def convert_encoded_instructions(filename); end
192
- def destination=(destination); end
193
- def invoke_with_conflict_check(&block); end
194
- def on_conflict_behavior; end
195
- def on_file_clash_behavior; end
196
- def pretend?; end
197
- def say_status(status, color); end
198
- end
199
-
200
- class Thor::Actions::InjectIntoFile < ::Thor::Actions::EmptyDirectory
201
- def initialize(base, destination, data, config); end
202
-
203
- def behavior; end
204
- def flag; end
205
- def invoke!; end
206
- def replacement; end
207
- def revoke!; end
208
-
209
- protected
210
-
211
- def replace!(regexp, string, force); end
212
- def say_status(behavior, warning: T.unsafe(nil), color: T.unsafe(nil)); end
213
- end
214
-
215
- Thor::Actions::WARNINGS = T.let(T.unsafe(nil), Hash)
216
-
217
- class Thor::AmbiguousCommandError < ::Thor::Error
218
- end
219
-
220
- Thor::AmbiguousTaskError = Thor::AmbiguousCommandError
221
-
222
- class Thor::Argument
223
- def initialize(name, options = T.unsafe(nil)); end
224
-
225
- def banner; end
226
- def default; end
227
- def description; end
228
- def enum; end
229
- def human_name; end
230
- def name; end
231
- def required; end
232
- def required?; end
233
- def show_default?; end
234
- def type; end
235
- def usage; end
236
-
237
- protected
238
-
239
- def default_banner; end
240
- def valid_type?(type); end
241
- def validate!; end
242
- end
243
-
244
- Thor::Argument::VALID_TYPES = T.let(T.unsafe(nil), Array)
245
-
246
- class Thor::Arguments
247
- def initialize(arguments = T.unsafe(nil)); end
248
-
249
- def parse(args); end
250
- def remaining; end
251
-
252
- private
253
-
254
- def check_requirement!; end
255
- def current_is_value?; end
256
- def last?; end
257
- def no_or_skip?(arg); end
258
- def parse_array(name); end
259
- def parse_hash(name); end
260
- def parse_numeric(name); end
261
- def parse_string(name); end
262
- def peek; end
263
- def shift; end
264
- def unshift(arg); end
265
-
266
- class << self
267
- def parse(*args); end
268
- def split(args); end
269
- end
270
- end
271
-
272
- Thor::Arguments::NUMERIC = T.let(T.unsafe(nil), Regexp)
273
-
274
- module Thor::Base
275
- include(::Thor::Invocation)
276
- include(::Thor::Shell)
277
-
278
- mixes_in_class_methods(::Thor::Base::ClassMethods)
279
-
280
- def initialize(args = T.unsafe(nil), local_options = T.unsafe(nil), config = T.unsafe(nil)); end
281
-
282
- def args; end
283
- def args=(_arg0); end
284
- def options; end
285
- def options=(_arg0); end
286
- def parent_options; end
287
- def parent_options=(_arg0); end
288
-
289
- class << self
290
- def included(base); end
291
- def register_klass_file(klass); end
292
- def shell; end
293
- def shell=(_arg0); end
294
- def subclass_files; end
295
- def subclasses; end
296
- end
297
- end
298
-
299
- module Thor::Base::ClassMethods
300
- def all_commands; end
301
- def all_tasks; end
302
- def allow_incompatible_default_type!; end
303
- def argument(name, options = T.unsafe(nil)); end
304
- def arguments; end
305
- def attr_accessor(*_arg0); end
306
- def attr_reader(*_arg0); end
307
- def attr_writer(*_arg0); end
308
- def check_default_type; end
309
- def check_default_type!; end
310
- def check_unknown_options; end
311
- def check_unknown_options!; end
312
- def check_unknown_options?(config); end
313
- def class_option(name, options = T.unsafe(nil)); end
314
- def class_options(options = T.unsafe(nil)); end
315
- def commands; end
316
- def disable_required_check?(command_name); end
317
- def exit_on_failure?; end
318
- def group(name = T.unsafe(nil)); end
319
- def handle_argument_error(command, error, args, arity); end
320
- def handle_no_command_error(command, has_namespace = T.unsafe(nil)); end
321
- def handle_no_task_error(command, has_namespace = T.unsafe(nil)); end
322
- def namespace(name = T.unsafe(nil)); end
323
- def no_commands(&block); end
324
- def no_commands?; end
325
- def no_commands_context; end
326
- def no_tasks(&block); end
327
- def public_command(*names); end
328
- def public_task(*names); end
329
- def remove_argument(*names); end
330
- def remove_class_option(*names); end
331
- def remove_command(*names); end
332
- def remove_task(*names); end
333
- def start(given_args = T.unsafe(nil), config = T.unsafe(nil)); end
334
- def stop_on_unknown_option?(command_name); end
335
- def strict_args_position; end
336
- def strict_args_position!; end
337
- def strict_args_position?(config); end
338
- def tasks; end
339
-
340
- protected
341
-
342
- def baseclass; end
343
- def basename; end
344
- def build_option(name, options, scope); end
345
- def build_options(options, scope); end
346
- def class_options_help(shell, groups = T.unsafe(nil)); end
347
- def create_command(meth); end
348
- def create_task(meth); end
349
- def dispatch(command, given_args, given_opts, config); end
350
- def find_and_refresh_command(name); end
351
- def find_and_refresh_task(name); end
352
- def from_superclass(method, default = T.unsafe(nil)); end
353
- def inherited(klass); end
354
- def initialize_added; end
355
- def is_thor_reserved_word?(word, type); end
356
- def method_added(meth); end
357
- def print_options(shell, options, group_name = T.unsafe(nil)); end
358
- end
359
-
360
- class Thor::Command < ::Struct
361
- def initialize(name, description, long_description, usage, options = T.unsafe(nil)); end
362
-
363
- def formatted_usage(klass, namespace = T.unsafe(nil), subcommand = T.unsafe(nil)); end
364
- def hidden?; end
365
- def run(instance, args = T.unsafe(nil)); end
366
-
367
- protected
368
-
369
- def handle_argument_error?(instance, error, caller); end
370
- def handle_no_method_error?(instance, error, caller); end
371
- def local_method?(instance, name); end
372
- def not_debugging?(instance); end
373
- def private_method?(instance); end
374
- def public_method?(instance); end
375
- def required_arguments_for(klass, usage); end
376
- def required_options; end
377
- def sans_backtrace(backtrace, caller); end
378
-
379
- private
380
-
381
- def initialize_copy(other); end
382
- end
383
-
384
- Thor::Command::FILE_REGEXP = T.let(T.unsafe(nil), Regexp)
385
-
386
- module Thor::CoreExt
387
- end
388
-
389
- class Thor::CoreExt::HashWithIndifferentAccess < ::Hash
390
- def initialize(hash = T.unsafe(nil)); end
391
-
392
- def [](key); end
393
- def []=(key, value); end
394
- def delete(key); end
395
- def fetch(key, *args); end
396
- def key?(key); end
397
- def merge(other); end
398
- def merge!(other); end
399
- def replace(other_hash); end
400
- def reverse_merge(other); end
401
- def reverse_merge!(other_hash); end
402
- def to_hash; end
403
- def values_at(*indices); end
404
-
405
- protected
406
-
407
- def convert_key(key); end
408
- def method_missing(method, *args); end
409
- end
410
-
411
- Thor::Correctable = DidYouMean::Correctable
412
-
413
- class Thor::DynamicCommand < ::Thor::Command
414
- def initialize(name, options = T.unsafe(nil)); end
415
-
416
- def run(instance, args = T.unsafe(nil)); end
417
- end
418
-
419
- Thor::DynamicTask = Thor::DynamicCommand
420
-
421
- class Thor::Error < ::StandardError
422
- end
423
-
424
- class Thor::Group
425
- include(::Thor::Base)
426
- include(::Thor::Invocation)
427
- include(::Thor::Shell)
428
- extend(::Thor::Base::ClassMethods)
429
- extend(::Thor::Invocation::ClassMethods)
430
-
431
-
432
- protected
433
-
434
- def _invoke_for_class_method(klass, command = T.unsafe(nil), *args, &block); end
435
-
436
- class << self
437
- def class_options_help(shell, groups = T.unsafe(nil)); end
438
- def desc(description = T.unsafe(nil)); end
439
- def get_options_from_invocations(group_options, base_options); end
440
- def handle_argument_error(command, error, _args, arity); end
441
- def help(shell); end
442
- def invocation_blocks; end
443
- def invocations; end
444
- def invoke(*names, &block); end
445
- def invoke_from_option(*names, &block); end
446
- def printable_commands(*_arg0); end
447
- def printable_tasks(*_arg0); end
448
- def remove_invocation(*names); end
449
-
450
- protected
451
-
452
- def banner; end
453
- def baseclass; end
454
- def create_command(meth); end
455
- def create_task(meth); end
456
- def dispatch(command, given_args, given_opts, config); end
457
- def self_command; end
458
- def self_task; end
459
- end
460
- end
461
-
462
- Thor::HELP_MAPPINGS = T.let(T.unsafe(nil), Array)
463
-
464
- class Thor::HiddenCommand < ::Thor::Command
465
- def hidden?; end
466
- end
467
-
468
- Thor::HiddenTask = Thor::HiddenCommand
469
-
470
- module Thor::Invocation
471
- mixes_in_class_methods(::Thor::Invocation::ClassMethods)
472
-
473
- def initialize(args = T.unsafe(nil), options = T.unsafe(nil), config = T.unsafe(nil), &block); end
474
-
475
- def current_command_chain; end
476
- def invoke(name = T.unsafe(nil), *args); end
477
- def invoke_all; end
478
- def invoke_command(command, *args); end
479
- def invoke_task(command, *args); end
480
- def invoke_with_padding(*args); end
481
-
482
- protected
483
-
484
- def _parse_initialization_options(args, opts, config); end
485
- def _retrieve_class_and_command(name, sent_command = T.unsafe(nil)); end
486
- def _retrieve_class_and_task(name, sent_command = T.unsafe(nil)); end
487
- def _shared_configuration; end
488
-
489
- class << self
490
- def included(base); end
491
- end
492
- end
493
-
494
- module Thor::Invocation::ClassMethods
495
- def prepare_for_invocation(key, name); end
496
- end
497
-
498
- class Thor::InvocationError < ::Thor::Error
499
- end
500
-
501
- module Thor::LineEditor
502
- class << self
503
- def best_available; end
504
- def readline(prompt, options = T.unsafe(nil)); end
505
- end
506
- end
507
-
508
- class Thor::LineEditor::Basic
509
- def initialize(prompt, options); end
510
-
511
- def options; end
512
- def prompt; end
513
- def readline; end
514
-
515
- private
516
-
517
- def echo?; end
518
- def get_input; end
519
-
520
- class << self
521
- def available?; end
522
- end
523
- end
524
-
525
- class Thor::LineEditor::Readline < ::Thor::LineEditor::Basic
526
- def readline; end
527
-
528
- private
529
-
530
- def add_to_history?; end
531
- def completion_options; end
532
- def completion_proc; end
533
- def use_path_completion?; end
534
-
535
- class << self
536
- def available?; end
537
- end
538
- end
539
-
540
- class Thor::LineEditor::Readline::PathCompletion
541
- def initialize(text); end
542
-
543
- def matches; end
544
-
545
- private
546
-
547
- def absolute_matches; end
548
- def base_path; end
549
- def glob_pattern; end
550
- def relative_matches; end
551
- def text; end
552
- end
553
-
554
- class Thor::MalformattedArgumentError < ::Thor::InvocationError
555
- end
556
-
557
- class Thor::NestedContext
558
- def initialize; end
559
-
560
- def enter; end
561
- def entered?; end
562
-
563
- private
564
-
565
- def pop; end
566
- def push; end
567
- end
568
-
569
- class Thor::NoKwargSpellChecker < ::DidYouMean::SpellChecker
570
- def initialize(dictionary); end
571
- end
572
-
573
- class Thor::Option < ::Thor::Argument
574
- def initialize(name, options = T.unsafe(nil)); end
575
-
576
- def aliases; end
577
- def array?; end
578
- def boolean?; end
579
- def group; end
580
- def hash?; end
581
- def hide; end
582
- def human_name; end
583
- def lazy_default; end
584
- def numeric?; end
585
- def repeatable; end
586
- def string?; end
587
- def switch_name; end
588
- def usage(padding = T.unsafe(nil)); end
589
-
590
- protected
591
-
592
- def dasherize(str); end
593
- def dasherized?; end
594
- def undasherize(str); end
595
- def validate!; end
596
- def validate_default_type!; end
597
-
598
- class << self
599
- def parse(key, value); end
600
- end
601
- end
602
-
603
- Thor::Option::VALID_TYPES = T.let(T.unsafe(nil), Array)
604
-
605
- class Thor::Options < ::Thor::Arguments
606
- def initialize(hash_options = T.unsafe(nil), defaults = T.unsafe(nil), stop_on_unknown = T.unsafe(nil), disable_required_check = T.unsafe(nil)); end
607
-
608
- def check_unknown!; end
609
- def parse(args); end
610
- def peek; end
611
- def remaining; end
612
-
613
- protected
614
-
615
- def assign_result!(option, result); end
616
- def current_is_switch?; end
617
- def current_is_switch_formatted?; end
618
- def current_is_value?; end
619
- def normalize_switch(arg); end
620
- def parse_boolean(switch); end
621
- def parse_peek(switch, option); end
622
- def parsing_options?; end
623
- def switch?(arg); end
624
- def switch_option(arg); end
625
-
626
- class << self
627
- def to_switches(options); end
628
- end
629
- end
630
-
631
- Thor::Options::EQ_RE = T.let(T.unsafe(nil), Regexp)
632
-
633
- Thor::Options::LONG_RE = T.let(T.unsafe(nil), Regexp)
634
-
635
- Thor::Options::OPTS_END = T.let(T.unsafe(nil), String)
636
-
637
- Thor::Options::SHORT_NUM = T.let(T.unsafe(nil), Regexp)
638
-
639
- Thor::Options::SHORT_RE = T.let(T.unsafe(nil), Regexp)
640
-
641
- Thor::Options::SHORT_SQ_RE = T.let(T.unsafe(nil), Regexp)
642
-
643
- module Thor::RakeCompat
644
- include(::FileUtils::StreamUtils_)
645
- include(::FileUtils)
646
- include(::Rake::FileUtilsExt)
647
- include(::Rake::DSL)
648
-
649
- class << self
650
- def included(base); end
651
- def rake_classes; end
652
- end
653
- end
654
-
655
- class Thor::RequiredArgumentMissingError < ::Thor::InvocationError
656
- end
657
-
658
- module Thor::Sandbox
659
- end
660
-
661
- module Thor::Shell
662
- def initialize(args = T.unsafe(nil), options = T.unsafe(nil), config = T.unsafe(nil)); end
663
-
664
- def ask(*args, &block); end
665
- def error(*args, &block); end
666
- def file_collision(*args, &block); end
667
- def no?(*args, &block); end
668
- def print_in_columns(*args, &block); end
669
- def print_table(*args, &block); end
670
- def print_wrapped(*args, &block); end
671
- def say(*args, &block); end
672
- def say_status(*args, &block); end
673
- def set_color(*args, &block); end
674
- def shell; end
675
- def shell=(_arg0); end
676
- def terminal_width(*args, &block); end
677
- def with_padding; end
678
- def yes?(*args, &block); end
679
-
680
- protected
681
-
682
- def _shared_configuration; end
683
- end
684
-
685
- class Thor::Shell::Basic
686
- def initialize; end
687
-
688
- def ask(statement, *args); end
689
- def base; end
690
- def base=(_arg0); end
691
- def error(statement); end
692
- def file_collision(destination); end
693
- def indent(count = T.unsafe(nil)); end
694
- def mute; end
695
- def mute?; end
696
- def no?(statement, color = T.unsafe(nil)); end
697
- def padding; end
698
- def padding=(value); end
699
- def print_in_columns(array); end
700
- def print_table(array, options = T.unsafe(nil)); end
701
- def print_wrapped(message, options = T.unsafe(nil)); end
702
- def say(message = T.unsafe(nil), color = T.unsafe(nil), force_new_line = T.unsafe(nil)); end
703
- def say_status(status, message, log_status = T.unsafe(nil)); end
704
- def set_color(string, *_arg1); end
705
- def terminal_width; end
706
- def yes?(statement, color = T.unsafe(nil)); end
707
-
708
- protected
709
-
710
- def answer_match(possibilities, answer, case_insensitive); end
711
- def as_unicode; end
712
- def ask_filtered(statement, color, options); end
713
- def ask_simply(statement, color, options); end
714
- def can_display_colors?; end
715
- def dynamic_width; end
716
- def dynamic_width_stty; end
717
- def dynamic_width_tput; end
718
- def file_collision_help; end
719
- def git_merge_tool; end
720
- def is?(value); end
721
- def lookup_color(color); end
722
- def merge(destination, content); end
723
- def merge_tool; end
724
- def prepare_message(message, *color); end
725
- def quiet?; end
726
- def show_diff(destination, content); end
727
- def stderr; end
728
- def stdout; end
729
- def truncate(string, width); end
730
- def unix?; end
731
- end
732
-
733
- Thor::Shell::Basic::DEFAULT_TERMINAL_WIDTH = T.let(T.unsafe(nil), Integer)
734
-
735
- class Thor::Shell::Color < ::Thor::Shell::Basic
736
- def set_color(string, *colors); end
737
-
738
- protected
739
-
740
- def are_colors_disabled?; end
741
- def are_colors_supported?; end
742
- def can_display_colors?; end
743
- def diff_lcs_loaded?; end
744
- def output_diff_line(diff); end
745
- def show_diff(destination, content); end
746
- end
747
-
748
- Thor::Shell::Color::BLACK = T.let(T.unsafe(nil), String)
749
-
750
- Thor::Shell::Color::BLUE = T.let(T.unsafe(nil), String)
751
-
752
- Thor::Shell::Color::BOLD = T.let(T.unsafe(nil), String)
753
-
754
- Thor::Shell::Color::CLEAR = T.let(T.unsafe(nil), String)
755
-
756
- Thor::Shell::Color::CYAN = T.let(T.unsafe(nil), String)
757
-
758
- Thor::Shell::Color::GREEN = T.let(T.unsafe(nil), String)
759
-
760
- Thor::Shell::Color::MAGENTA = T.let(T.unsafe(nil), String)
761
-
762
- Thor::Shell::Color::ON_BLACK = T.let(T.unsafe(nil), String)
763
-
764
- Thor::Shell::Color::ON_BLUE = T.let(T.unsafe(nil), String)
765
-
766
- Thor::Shell::Color::ON_CYAN = T.let(T.unsafe(nil), String)
767
-
768
- Thor::Shell::Color::ON_GREEN = T.let(T.unsafe(nil), String)
769
-
770
- Thor::Shell::Color::ON_MAGENTA = T.let(T.unsafe(nil), String)
771
-
772
- Thor::Shell::Color::ON_RED = T.let(T.unsafe(nil), String)
773
-
774
- Thor::Shell::Color::ON_WHITE = T.let(T.unsafe(nil), String)
775
-
776
- Thor::Shell::Color::ON_YELLOW = T.let(T.unsafe(nil), String)
777
-
778
- Thor::Shell::Color::RED = T.let(T.unsafe(nil), String)
779
-
780
- Thor::Shell::Color::WHITE = T.let(T.unsafe(nil), String)
781
-
782
- Thor::Shell::Color::YELLOW = T.let(T.unsafe(nil), String)
783
-
784
- class Thor::Shell::HTML < ::Thor::Shell::Basic
785
- def ask(statement, color = T.unsafe(nil)); end
786
- def set_color(string, *colors); end
787
-
788
- protected
789
-
790
- def can_display_colors?; end
791
- def diff_lcs_loaded?; end
792
- def output_diff_line(diff); end
793
- def show_diff(destination, content); end
794
- end
795
-
796
- Thor::Shell::HTML::BLACK = T.let(T.unsafe(nil), String)
797
-
798
- Thor::Shell::HTML::BLUE = T.let(T.unsafe(nil), String)
799
-
800
- Thor::Shell::HTML::BOLD = T.let(T.unsafe(nil), String)
801
-
802
- Thor::Shell::HTML::CYAN = T.let(T.unsafe(nil), String)
803
-
804
- Thor::Shell::HTML::GREEN = T.let(T.unsafe(nil), String)
805
-
806
- Thor::Shell::HTML::MAGENTA = T.let(T.unsafe(nil), String)
807
-
808
- Thor::Shell::HTML::ON_BLACK = T.let(T.unsafe(nil), String)
809
-
810
- Thor::Shell::HTML::ON_BLUE = T.let(T.unsafe(nil), String)
811
-
812
- Thor::Shell::HTML::ON_CYAN = T.let(T.unsafe(nil), String)
813
-
814
- Thor::Shell::HTML::ON_GREEN = T.let(T.unsafe(nil), String)
815
-
816
- Thor::Shell::HTML::ON_MAGENTA = T.let(T.unsafe(nil), String)
817
-
818
- Thor::Shell::HTML::ON_RED = T.let(T.unsafe(nil), String)
819
-
820
- Thor::Shell::HTML::ON_WHITE = T.let(T.unsafe(nil), String)
821
-
822
- Thor::Shell::HTML::ON_YELLOW = T.let(T.unsafe(nil), String)
823
-
824
- Thor::Shell::HTML::RED = T.let(T.unsafe(nil), String)
825
-
826
- Thor::Shell::HTML::WHITE = T.let(T.unsafe(nil), String)
827
-
828
- Thor::Shell::HTML::YELLOW = T.let(T.unsafe(nil), String)
829
-
830
- Thor::Shell::SHELL_DELEGATED_METHODS = T.let(T.unsafe(nil), Array)
831
-
832
- Thor::TEMPLATE_EXTNAME = T.let(T.unsafe(nil), String)
833
-
834
- Thor::THOR_RESERVED_WORDS = T.let(T.unsafe(nil), Array)
835
-
836
- Thor::Task = Thor::Command
837
-
838
- class Thor::UndefinedCommandError < ::Thor::Error
839
- include(::DidYouMean::Correctable)
840
-
841
- def initialize(command, all_commands, namespace); end
842
-
843
- def all_commands; end
844
- def command; end
845
- end
846
-
847
- class Thor::UndefinedCommandError::SpellChecker
848
- def initialize(error); end
849
-
850
- def corrections; end
851
- def error; end
852
- def spell_checker; end
853
- end
854
-
855
- Thor::UndefinedTaskError = Thor::UndefinedCommandError
856
-
857
- class Thor::UnknownArgumentError < ::Thor::Error
858
- include(::DidYouMean::Correctable)
859
-
860
- def initialize(switches, unknown); end
861
-
862
- def switches; end
863
- def unknown; end
864
- end
865
-
866
- class Thor::UnknownArgumentError::SpellChecker
867
- def initialize(error); end
868
-
869
- def corrections; end
870
- def error; end
871
- def spell_checker; end
872
- end
873
-
874
- module Thor::Util
875
- class << self
876
- def camel_case(str); end
877
- def escape_globs(path); end
878
- def escape_html(string); end
879
- def find_by_namespace(namespace); end
880
- def find_class_and_command_by_namespace(namespace, fallback = T.unsafe(nil)); end
881
- def find_class_and_task_by_namespace(namespace, fallback = T.unsafe(nil)); end
882
- def globs_for(path); end
883
- def load_thorfile(path, content = T.unsafe(nil), debug = T.unsafe(nil)); end
884
- def namespace_from_thor_class(constant); end
885
- def namespaces_in_content(contents, file = T.unsafe(nil)); end
886
- def ruby_command; end
887
- def snake_case(str); end
888
- def thor_classes_in(klass); end
889
- def thor_root; end
890
- def thor_root_glob; end
891
- def user_home; end
892
- end
893
- end