packwerk 1.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 (153) hide show
  1. checksums.yaml +7 -0
  2. data/.github/ISSUE_TEMPLATE/bug_report.md +27 -0
  3. data/.github/probots.yml +2 -0
  4. data/.github/pull_request_template.md +27 -0
  5. data/.github/workflows/ci.yml +50 -0
  6. data/.gitignore +12 -0
  7. data/.rubocop.yml +46 -0
  8. data/.ruby-version +1 -0
  9. data/CODEOWNERS +1 -0
  10. data/CODE_OF_CONDUCT.md +76 -0
  11. data/CONTRIBUTING.md +17 -0
  12. data/Gemfile +22 -0
  13. data/Gemfile.lock +236 -0
  14. data/LICENSE.md +7 -0
  15. data/README.md +73 -0
  16. data/Rakefile +13 -0
  17. data/TROUBLESHOOT.md +67 -0
  18. data/USAGE.md +250 -0
  19. data/bin/console +15 -0
  20. data/bin/setup +8 -0
  21. data/dev.yml +32 -0
  22. data/docs/cohesion.png +0 -0
  23. data/exe/packwerk +6 -0
  24. data/lib/packwerk.rb +44 -0
  25. data/lib/packwerk/application_validator.rb +343 -0
  26. data/lib/packwerk/association_inspector.rb +44 -0
  27. data/lib/packwerk/checking_deprecated_references.rb +40 -0
  28. data/lib/packwerk/cli.rb +238 -0
  29. data/lib/packwerk/configuration.rb +82 -0
  30. data/lib/packwerk/const_node_inspector.rb +44 -0
  31. data/lib/packwerk/constant_discovery.rb +60 -0
  32. data/lib/packwerk/constant_name_inspector.rb +22 -0
  33. data/lib/packwerk/dependency_checker.rb +28 -0
  34. data/lib/packwerk/deprecated_references.rb +92 -0
  35. data/lib/packwerk/file_processor.rb +43 -0
  36. data/lib/packwerk/files_for_processing.rb +67 -0
  37. data/lib/packwerk/formatters/progress_formatter.rb +46 -0
  38. data/lib/packwerk/generators/application_validation.rb +62 -0
  39. data/lib/packwerk/generators/configuration_file.rb +69 -0
  40. data/lib/packwerk/generators/inflections_file.rb +43 -0
  41. data/lib/packwerk/generators/root_package.rb +37 -0
  42. data/lib/packwerk/generators/templates/inflections.yml +6 -0
  43. data/lib/packwerk/generators/templates/package.yml +17 -0
  44. data/lib/packwerk/generators/templates/packwerk +23 -0
  45. data/lib/packwerk/generators/templates/packwerk.yml.erb +23 -0
  46. data/lib/packwerk/generators/templates/packwerk_validator_test.rb +11 -0
  47. data/lib/packwerk/graph.rb +74 -0
  48. data/lib/packwerk/inflections/custom.rb +33 -0
  49. data/lib/packwerk/inflections/default.rb +73 -0
  50. data/lib/packwerk/inflector.rb +41 -0
  51. data/lib/packwerk/node.rb +259 -0
  52. data/lib/packwerk/node_processor.rb +49 -0
  53. data/lib/packwerk/node_visitor.rb +22 -0
  54. data/lib/packwerk/offense.rb +44 -0
  55. data/lib/packwerk/output_styles.rb +41 -0
  56. data/lib/packwerk/package.rb +56 -0
  57. data/lib/packwerk/package_set.rb +59 -0
  58. data/lib/packwerk/parsed_constant_definitions.rb +62 -0
  59. data/lib/packwerk/parsers.rb +23 -0
  60. data/lib/packwerk/parsers/erb.rb +66 -0
  61. data/lib/packwerk/parsers/factory.rb +34 -0
  62. data/lib/packwerk/parsers/ruby.rb +42 -0
  63. data/lib/packwerk/privacy_checker.rb +45 -0
  64. data/lib/packwerk/reference.rb +6 -0
  65. data/lib/packwerk/reference_extractor.rb +81 -0
  66. data/lib/packwerk/reference_lister.rb +23 -0
  67. data/lib/packwerk/run_context.rb +103 -0
  68. data/lib/packwerk/sanity_checker.rb +10 -0
  69. data/lib/packwerk/spring_command.rb +28 -0
  70. data/lib/packwerk/updating_deprecated_references.rb +51 -0
  71. data/lib/packwerk/version.rb +6 -0
  72. data/lib/packwerk/violation_type.rb +13 -0
  73. data/library.yml +6 -0
  74. data/packwerk.gemspec +58 -0
  75. data/service.yml +6 -0
  76. data/shipit.rubygems.yml +1 -0
  77. data/sorbet/config +2 -0
  78. data/sorbet/rbi/gems/actioncable@6.1.0.alpha-d80c18a391e33552ae2d943e68af56946f883f65.rbi +840 -0
  79. data/sorbet/rbi/gems/actionmailbox@6.1.0.alpha-d80c18a391e33552ae2d943e68af56946f883f65.rbi +571 -0
  80. data/sorbet/rbi/gems/actionmailer@6.1.0.alpha-d80c18a391e33552ae2d943e68af56946f883f65.rbi +568 -0
  81. data/sorbet/rbi/gems/actionpack@6.1.0.alpha-d80c18a391e33552ae2d943e68af56946f883f65.rbi +5216 -0
  82. data/sorbet/rbi/gems/actiontext@6.1.0.alpha-d80c18a391e33552ae2d943e68af56946f883f65.rbi +663 -0
  83. data/sorbet/rbi/gems/actionview@6.1.0.alpha-d80c18a391e33552ae2d943e68af56946f883f65.rbi +2504 -0
  84. data/sorbet/rbi/gems/activejob@6.1.0.alpha-d80c18a391e33552ae2d943e68af56946f883f65.rbi +635 -0
  85. data/sorbet/rbi/gems/activemodel@6.1.0.alpha-d80c18a391e33552ae2d943e68af56946f883f65.rbi +1201 -0
  86. data/sorbet/rbi/gems/activerecord@6.1.0.alpha-d80c18a391e33552ae2d943e68af56946f883f65.rbi +8011 -0
  87. data/sorbet/rbi/gems/activestorage@6.1.0.alpha-d80c18a391e33552ae2d943e68af56946f883f65.rbi +904 -0
  88. data/sorbet/rbi/gems/activesupport@6.1.0.alpha-d80c18a391e33552ae2d943e68af56946f883f65.rbi +3888 -0
  89. data/sorbet/rbi/gems/ast@2.4.1.rbi +54 -0
  90. data/sorbet/rbi/gems/better_html@1.0.15.rbi +317 -0
  91. data/sorbet/rbi/gems/builder@3.2.4.rbi +8 -0
  92. data/sorbet/rbi/gems/byebug@11.1.3.rbi +8 -0
  93. data/sorbet/rbi/gems/coderay@1.1.3.rbi +8 -0
  94. data/sorbet/rbi/gems/colorize@0.8.1.rbi +40 -0
  95. data/sorbet/rbi/gems/commander@4.5.2.rbi +8 -0
  96. data/sorbet/rbi/gems/concurrent-ruby@1.1.6.rbi +1966 -0
  97. data/sorbet/rbi/gems/constant_resolver@0.1.5.rbi +26 -0
  98. data/sorbet/rbi/gems/crass@1.0.6.rbi +138 -0
  99. data/sorbet/rbi/gems/erubi@1.9.0.rbi +39 -0
  100. data/sorbet/rbi/gems/globalid@0.4.2.rbi +178 -0
  101. data/sorbet/rbi/gems/highline@2.0.3.rbi +8 -0
  102. data/sorbet/rbi/gems/html_tokenizer@0.0.7.rbi +46 -0
  103. data/sorbet/rbi/gems/i18n@1.8.2.rbi +633 -0
  104. data/sorbet/rbi/gems/jaro_winkler@1.5.4.rbi +8 -0
  105. data/sorbet/rbi/gems/loofah@2.5.0.rbi +272 -0
  106. data/sorbet/rbi/gems/m@1.5.1.rbi +108 -0
  107. data/sorbet/rbi/gems/mail@2.7.1.rbi +2490 -0
  108. data/sorbet/rbi/gems/marcel@0.3.3.rbi +30 -0
  109. data/sorbet/rbi/gems/method_source@1.0.0.rbi +76 -0
  110. data/sorbet/rbi/gems/mimemagic@0.3.5.rbi +47 -0
  111. data/sorbet/rbi/gems/mini_mime@1.0.2.rbi +71 -0
  112. data/sorbet/rbi/gems/mini_portile2@2.4.0.rbi +8 -0
  113. data/sorbet/rbi/gems/minitest@5.14.0.rbi +542 -0
  114. data/sorbet/rbi/gems/mocha@1.11.2.rbi +964 -0
  115. data/sorbet/rbi/gems/nio4r@2.5.2.rbi +89 -0
  116. data/sorbet/rbi/gems/nokogiri@1.10.9.rbi +1608 -0
  117. data/sorbet/rbi/gems/parallel@1.19.1.rbi +8 -0
  118. data/sorbet/rbi/gems/parlour@4.0.1.rbi +561 -0
  119. data/sorbet/rbi/gems/parser@2.7.1.4.rbi +1632 -0
  120. data/sorbet/rbi/gems/pry@0.13.1.rbi +8 -0
  121. data/sorbet/rbi/gems/rack-test@1.1.0.rbi +335 -0
  122. data/sorbet/rbi/gems/rack@2.2.2.rbi +1730 -0
  123. data/sorbet/rbi/gems/rails-dom-testing@2.0.3.rbi +123 -0
  124. data/sorbet/rbi/gems/rails-html-sanitizer@1.3.0.rbi +213 -0
  125. data/sorbet/rbi/gems/rails@6.1.0.alpha-d80c18a391e33552ae2d943e68af56946f883f65.rbi +8 -0
  126. data/sorbet/rbi/gems/railties@6.1.0.alpha-d80c18a391e33552ae2d943e68af56946f883f65.rbi +869 -0
  127. data/sorbet/rbi/gems/rainbow@3.0.0.rbi +155 -0
  128. data/sorbet/rbi/gems/rake@13.0.1.rbi +841 -0
  129. data/sorbet/rbi/gems/rexml@3.2.4.rbi +8 -0
  130. data/sorbet/rbi/gems/rubocop-performance@1.5.2.rbi +8 -0
  131. data/sorbet/rbi/gems/rubocop-shopify@1.0.2.rbi +8 -0
  132. data/sorbet/rbi/gems/rubocop-sorbet@0.3.7.rbi +8 -0
  133. data/sorbet/rbi/gems/rubocop@0.82.0.rbi +8 -0
  134. data/sorbet/rbi/gems/ruby-progressbar@1.10.1.rbi +8 -0
  135. data/sorbet/rbi/gems/smart_properties@1.15.0.rbi +168 -0
  136. data/sorbet/rbi/gems/spoom@1.0.4.rbi +418 -0
  137. data/sorbet/rbi/gems/spring@2.1.0.rbi +160 -0
  138. data/sorbet/rbi/gems/sprockets-rails@3.2.1.rbi +431 -0
  139. data/sorbet/rbi/gems/sprockets@4.0.0.rbi +1132 -0
  140. data/sorbet/rbi/gems/tapioca@0.4.5.rbi +518 -0
  141. data/sorbet/rbi/gems/thor@1.0.1.rbi +892 -0
  142. data/sorbet/rbi/gems/tzinfo@2.0.2.rbi +547 -0
  143. data/sorbet/rbi/gems/unicode-display_width@1.7.0.rbi +8 -0
  144. data/sorbet/rbi/gems/websocket-driver@0.7.1.rbi +438 -0
  145. data/sorbet/rbi/gems/websocket-extensions@0.1.4.rbi +71 -0
  146. data/sorbet/rbi/gems/zeitwerk@2.3.0.rbi +8 -0
  147. data/sorbet/tapioca/require.rb +25 -0
  148. data/static/packwerk-check-demo.png +0 -0
  149. data/static/packwerk_check.gif +0 -0
  150. data/static/packwerk_check_violation.gif +0 -0
  151. data/static/packwerk_update.gif +0 -0
  152. data/static/packwerk_validate.gif +0 -0
  153. metadata +341 -0
@@ -0,0 +1,123 @@
1
+ # DO NOT EDIT MANUALLY
2
+ # This is an autogenerated file for types exported from the `rails-dom-testing` gem.
3
+ # Please instead update this file by running `dev typecheck update`.
4
+
5
+ # typed: true
6
+
7
+ class HTMLSelector
8
+ def initialize(values, previous_selection = T.unsafe(nil), &root_fallback); end
9
+
10
+ def context; end
11
+ def css_selector; end
12
+ def message; end
13
+ def select; end
14
+ def selecting_no_body?; end
15
+ def tests; end
16
+
17
+ private
18
+
19
+ def extract_equality_tests; end
20
+ def extract_root(previous_selection, root_fallback); end
21
+ def extract_selectors; end
22
+ def filter(matches); end
23
+
24
+ class << self
25
+ def context; end
26
+ end
27
+ end
28
+
29
+ HTMLSelector::NO_STRIP = T.let(T.unsafe(nil), Array)
30
+
31
+ module Rails
32
+ extend(::ActiveSupport::Autoload)
33
+
34
+ class << self
35
+ def app_class; end
36
+ def app_class=(_); end
37
+ def application; end
38
+ def application=(_); end
39
+ def autoloaders; end
40
+ def backtrace_cleaner; end
41
+ def cache; end
42
+ def cache=(_); end
43
+ def configuration; end
44
+ def env; end
45
+ def env=(environment); end
46
+ def gem_version; end
47
+ def groups(*groups); end
48
+ def initialize!(*args, &block); end
49
+ def initialized?(*args, &block); end
50
+ def logger; end
51
+ def logger=(_); end
52
+ def public_path; end
53
+ def root; end
54
+ def version; end
55
+ end
56
+ end
57
+
58
+ module Rails::Dom
59
+ end
60
+
61
+ module Rails::Dom::Testing
62
+ end
63
+
64
+ module Rails::Dom::Testing::Assertions
65
+ include(::Rails::Dom::Testing::Assertions::DomAssertions)
66
+ include(::Rails::Dom::Testing::Assertions::SelectorAssertions::CountDescribable)
67
+ include(::Rails::Dom::Testing::Assertions::SelectorAssertions)
68
+ extend(::ActiveSupport::Concern)
69
+ end
70
+
71
+ module Rails::Dom::Testing::Assertions::DomAssertions
72
+ def assert_dom_equal(expected, actual, message = T.unsafe(nil)); end
73
+ def assert_dom_not_equal(expected, actual, message = T.unsafe(nil)); end
74
+
75
+ protected
76
+
77
+ def compare_doms(expected, actual); end
78
+ def equal_attribute?(attr, other_attr); end
79
+ def equal_attribute_nodes?(nodes, other_nodes); end
80
+ def equal_children?(child, other_child); end
81
+
82
+ private
83
+
84
+ def fragment(text); end
85
+ end
86
+
87
+ module Rails::Dom::Testing::Assertions::SelectorAssertions
88
+ include(::Rails::Dom::Testing::Assertions::SelectorAssertions::CountDescribable)
89
+
90
+ def assert_select(*args, &block); end
91
+ def assert_select_email(&block); end
92
+ def assert_select_encoded(element = T.unsafe(nil), &block); end
93
+ def css_select(*args); end
94
+
95
+ private
96
+
97
+ def assert_size_match!(size, equals, css_selector, message = T.unsafe(nil)); end
98
+ def document_root_element; end
99
+ def nest_selection(selection); end
100
+ def nodeset(node); end
101
+ end
102
+
103
+ module Rails::Dom::Testing::Assertions::SelectorAssertions::CountDescribable
104
+ extend(::ActiveSupport::Concern)
105
+
106
+
107
+ private
108
+
109
+ def count_description(min, max, count); end
110
+ def pluralize_element(quantity); end
111
+ end
112
+
113
+ class SubstitutionContext
114
+ def initialize; end
115
+
116
+ def match(matches, attribute, matcher); end
117
+ def substitute!(selector, values, format_for_presentation = T.unsafe(nil)); end
118
+
119
+ private
120
+
121
+ def matcher_for(value, format_for_presentation); end
122
+ def substitutable?(value); end
123
+ end
@@ -0,0 +1,213 @@
1
+ # DO NOT EDIT MANUALLY
2
+ # This is an autogenerated file for types exported from the `rails-html-sanitizer` gem.
3
+ # Please instead update this file by running `dev typecheck update`.
4
+
5
+ # typed: true
6
+
7
+ module ActionView
8
+ extend(::ActiveSupport::Autoload)
9
+
10
+ class << self
11
+ def eager_load!; end
12
+ def gem_version; end
13
+ def version; end
14
+ end
15
+ end
16
+
17
+ ActionView::ENCODING_FLAG = T.let(T.unsafe(nil), String)
18
+
19
+ module ActionView::Helpers
20
+ include(::ActiveSupport::Benchmarkable)
21
+ include(::ActionView::Helpers::ActiveModelHelper)
22
+ include(::ActionView::Helpers::AssetUrlHelper)
23
+ include(::ActionView::Helpers::AtomFeedHelper)
24
+ include(::ActionView::Helpers::CacheHelper)
25
+ include(::ActionView::Helpers::SanitizeHelper)
26
+ include(::ActionView::Helpers::CaptureHelper)
27
+ include(::ActionView::Helpers::ControllerHelper)
28
+ include(::ActionView::Helpers::CspHelper)
29
+ include(::ActionView::Helpers::CsrfHelper)
30
+ include(::ActionView::Helpers::DateHelper)
31
+ include(::ActionView::Helpers::OutputSafetyHelper)
32
+ include(::ActionView::Helpers::TagHelper)
33
+ include(::ActionView::Helpers::DebugHelper)
34
+ include(::ActionView::Helpers::TextHelper)
35
+ include(::ActionView::Helpers::FormOptionsHelper)
36
+ include(::ActionView::Helpers::JavaScriptHelper)
37
+ include(::ActionView::Helpers::NumberHelper)
38
+ include(::ActionView::Helpers::RenderingHelper)
39
+ extend(::ActiveSupport::Autoload)
40
+ extend(::ActiveSupport::Concern)
41
+
42
+ include(::ActionView::Helpers::TagHelper)
43
+ include(::ActionView::Helpers::AssetTagHelper)
44
+ include(::ActionView::Helpers::UrlHelper)
45
+ include(::ActionView::Helpers::SanitizeHelper)
46
+ include(::ActionView::Helpers::TextHelper)
47
+ include(::ActionView::Helpers::FormTagHelper)
48
+ include(::ActionView::Helpers::FormHelper)
49
+ include(::ActionView::Helpers::TranslationHelper)
50
+
51
+ class << self
52
+ def eager_load!; end
53
+ end
54
+ end
55
+
56
+ module ActionView::Helpers::SanitizeHelper
57
+ extend(::ActiveSupport::Concern)
58
+
59
+ mixes_in_class_methods(::ActionView::Helpers::SanitizeHelper::ClassMethods)
60
+
61
+ def sanitize(html, options = T.unsafe(nil)); end
62
+ def sanitize_css(style); end
63
+ def strip_links(html); end
64
+ def strip_tags(html); end
65
+ end
66
+
67
+ module ActionView::Helpers::SanitizeHelper::ClassMethods
68
+ def full_sanitizer; end
69
+ def full_sanitizer=(_); end
70
+ def link_sanitizer; end
71
+ def link_sanitizer=(_); end
72
+ def safe_list_sanitizer; end
73
+ def safe_list_sanitizer=(_); end
74
+ def sanitized_allowed_attributes; end
75
+ def sanitized_allowed_attributes=(attributes); end
76
+ def sanitized_allowed_css_keywords; end
77
+ def sanitized_allowed_css_keywords=(_); end
78
+ def sanitized_allowed_css_properties; end
79
+ def sanitized_allowed_css_properties=(_); end
80
+ def sanitized_allowed_protocols; end
81
+ def sanitized_allowed_protocols=(_); end
82
+ def sanitized_allowed_tags; end
83
+ def sanitized_allowed_tags=(tags); end
84
+ def sanitized_bad_tags; end
85
+ def sanitized_bad_tags=(_); end
86
+ def sanitized_protocol_separator; end
87
+ def sanitized_protocol_separator=(_); end
88
+ def sanitized_shorthand_css_properties; end
89
+ def sanitized_shorthand_css_properties=(_); end
90
+ def sanitized_uri_attributes; end
91
+ def sanitized_uri_attributes=(_); end
92
+ def sanitizer_vendor; end
93
+
94
+ private
95
+
96
+ def deprecate_option(name); end
97
+ end
98
+
99
+ ActionView::TemplateError = ActionView::Template::Error
100
+
101
+ module Rails
102
+ extend(::ActiveSupport::Autoload)
103
+
104
+ class << self
105
+ def app_class; end
106
+ def app_class=(_); end
107
+ def application; end
108
+ def application=(_); end
109
+ def autoloaders; end
110
+ def backtrace_cleaner; end
111
+ def cache; end
112
+ def cache=(_); end
113
+ def configuration; end
114
+ def env; end
115
+ def env=(environment); end
116
+ def gem_version; end
117
+ def groups(*groups); end
118
+ def initialize!(*args, &block); end
119
+ def initialized?(*args, &block); end
120
+ def logger; end
121
+ def logger=(_); end
122
+ def public_path; end
123
+ def root; end
124
+ def version; end
125
+ end
126
+ end
127
+
128
+ module Rails::Html
129
+ end
130
+
131
+ class Rails::Html::FullSanitizer < ::Rails::Html::Sanitizer
132
+ def sanitize(html, options = T.unsafe(nil)); end
133
+ end
134
+
135
+ class Rails::Html::LinkSanitizer < ::Rails::Html::Sanitizer
136
+ def initialize; end
137
+
138
+ def sanitize(html, options = T.unsafe(nil)); end
139
+ end
140
+
141
+ class Rails::Html::PermitScrubber < ::Loofah::Scrubber
142
+ def initialize; end
143
+
144
+ def attributes; end
145
+ def attributes=(attributes); end
146
+ def scrub(node); end
147
+ def tags; end
148
+ def tags=(tags); end
149
+
150
+ protected
151
+
152
+ def allowed_node?(node); end
153
+ def keep_node?(node); end
154
+ def scrub_attribute(node, attr_node); end
155
+ def scrub_attribute?(name); end
156
+ def scrub_attributes(node); end
157
+ def scrub_css_attribute(node); end
158
+ def scrub_node(node); end
159
+ def skip_node?(node); end
160
+ def validate!(var, name); end
161
+ end
162
+
163
+ class Rails::Html::SafeListSanitizer < ::Rails::Html::Sanitizer
164
+ def initialize; end
165
+
166
+ def sanitize(html, options = T.unsafe(nil)); end
167
+ def sanitize_css(style_string); end
168
+
169
+ private
170
+
171
+ def allowed_attributes(options); end
172
+ def allowed_tags(options); end
173
+
174
+ class << self
175
+ def allowed_attributes; end
176
+ def allowed_attributes=(_); end
177
+ def allowed_tags; end
178
+ def allowed_tags=(_); end
179
+ end
180
+ end
181
+
182
+ class Rails::Html::Sanitizer
183
+ def sanitize(html, options = T.unsafe(nil)); end
184
+
185
+ private
186
+
187
+ def properly_encode(fragment, options); end
188
+ def remove_xpaths(node, xpaths); end
189
+
190
+ class << self
191
+ def full_sanitizer; end
192
+ def link_sanitizer; end
193
+ def safe_list_sanitizer; end
194
+ def white_list_sanitizer; end
195
+ end
196
+ end
197
+
198
+ Rails::Html::Sanitizer::VERSION = T.let(T.unsafe(nil), String)
199
+
200
+ class Rails::Html::TargetScrubber < ::Rails::Html::PermitScrubber
201
+ def allowed_node?(node); end
202
+ def scrub_attribute?(name); end
203
+ end
204
+
205
+ class Rails::Html::TextOnlyScrubber < ::Loofah::Scrubber
206
+ def initialize; end
207
+
208
+ def scrub(node); end
209
+ end
210
+
211
+ Rails::Html::WhiteListSanitizer = Rails::Html::SafeListSanitizer
212
+
213
+ Rails::Html::XPATHS_TO_REMOVE = T.let(T.unsafe(nil), Array)
@@ -0,0 +1,8 @@
1
+ # DO NOT EDIT MANUALLY
2
+ # This is an autogenerated file for types exported from the `rails` gem.
3
+ # Please instead update this file by running `dev typecheck update`.
4
+
5
+ # typed: true
6
+
7
+ # THIS IS AN EMPTY RBI FILE.
8
+ # see https://github.com/Shopify/tapioca/blob/master/README.md#manual-gem-requires
@@ -0,0 +1,869 @@
1
+ # DO NOT EDIT MANUALLY
2
+ # This is an autogenerated file for types exported from the `railties` gem.
3
+ # Please instead update this file by running `dev typecheck update`.
4
+
5
+ # typed: true
6
+
7
+ module Rails
8
+ extend(::ActiveSupport::Autoload)
9
+
10
+ class << self
11
+ def app_class; end
12
+ def app_class=(_); end
13
+ def application; end
14
+ def application=(_); end
15
+ def autoloaders; end
16
+ def backtrace_cleaner; end
17
+ def cache; end
18
+ def cache=(_); end
19
+ def configuration; end
20
+ def env; end
21
+ def env=(environment); end
22
+ def gem_version; end
23
+ def groups(*groups); end
24
+ def initialize!(*args, &block); end
25
+ def initialized?(*args, &block); end
26
+ def logger; end
27
+ def logger=(_); end
28
+ def public_path; end
29
+ def root; end
30
+ def version; end
31
+ end
32
+ end
33
+
34
+ class Rails::Application < ::Rails::Engine
35
+ def initialize(initial_variable_values = T.unsafe(nil), &block); end
36
+
37
+ def asset_precompiled?(logical_path); end
38
+ def assets; end
39
+ def assets=(_); end
40
+ def assets_manifest; end
41
+ def assets_manifest=(_); end
42
+ def build_middleware_stack; end
43
+ def config; end
44
+ def config=(_); end
45
+ def config_for(name, env: T.unsafe(nil)); end
46
+ def console(&blk); end
47
+ def credentials; end
48
+ def default_url_options(*args, &block); end
49
+ def default_url_options=(arg); end
50
+ def eager_load!; end
51
+ def encrypted(path, key_path: T.unsafe(nil), env_key: T.unsafe(nil)); end
52
+ def env_config; end
53
+ def executor; end
54
+ def generators(&blk); end
55
+ def helpers_paths; end
56
+ def initialize!(group = T.unsafe(nil)); end
57
+ def initialized?; end
58
+ def initializer(name, opts = T.unsafe(nil), &block); end
59
+ def initializers; end
60
+ def isolate_namespace(mod); end
61
+ def key_generator; end
62
+ def message_verifier(verifier_name); end
63
+ def migration_railties; end
64
+ def precompiled_assets(clear_cache = T.unsafe(nil)); end
65
+ def rake_tasks(&block); end
66
+ def reload_routes!; end
67
+ def reloader; end
68
+ def reloaders; end
69
+ def require_environment!; end
70
+ def routes_reloader; end
71
+ def run_load_hooks!; end
72
+ def runner(&blk); end
73
+ def sandbox; end
74
+ def sandbox=(_); end
75
+ def sandbox?; end
76
+ def secret_key_base; end
77
+ def secrets; end
78
+ def secrets=(_); end
79
+ def to_app; end
80
+ def watchable_args; end
81
+
82
+ protected
83
+
84
+ def default_middleware_stack; end
85
+ def ordered_railties; end
86
+ def railties_initializers(current); end
87
+ def run_console_blocks(app); end
88
+ def run_generators_blocks(app); end
89
+ def run_runner_blocks(app); end
90
+ def run_tasks_blocks(app); end
91
+ def validate_secret_key_base(secret_key_base); end
92
+
93
+ private
94
+
95
+ def build_middleware; end
96
+ def build_request(env); end
97
+ def generate_development_secret; end
98
+
99
+ class << self
100
+ def add_lib_to_load_path!(root); end
101
+ def create(initial_variable_values = T.unsafe(nil), &block); end
102
+ def find_root(from); end
103
+ def inherited(base); end
104
+ def instance; end
105
+ end
106
+ end
107
+
108
+ module Rails::Application::Bootstrap
109
+ include(::Rails::Initializable)
110
+ extend(::Rails::Initializable::ClassMethods)
111
+ end
112
+
113
+ class Rails::Application::Configuration < ::Rails::Engine::Configuration
114
+ def initialize(*_); end
115
+
116
+ def add_autoload_paths_to_load_path; end
117
+ def add_autoload_paths_to_load_path=(_); end
118
+ def allow_concurrency; end
119
+ def allow_concurrency=(_); end
120
+ def annotations; end
121
+ def api_only; end
122
+ def api_only=(value); end
123
+ def asset_host; end
124
+ def asset_host=(_); end
125
+ def autoflush_log; end
126
+ def autoflush_log=(_); end
127
+ def autoloader; end
128
+ def autoloader=(autoloader); end
129
+ def beginning_of_week; end
130
+ def beginning_of_week=(_); end
131
+ def cache_classes; end
132
+ def cache_classes=(_); end
133
+ def cache_store; end
134
+ def cache_store=(_); end
135
+ def colorize_logging; end
136
+ def colorize_logging=(val); end
137
+ def consider_all_requests_local; end
138
+ def consider_all_requests_local=(_); end
139
+ def console; end
140
+ def console=(_); end
141
+ def content_security_policy(&block); end
142
+ def content_security_policy_nonce_directives; end
143
+ def content_security_policy_nonce_directives=(_); end
144
+ def content_security_policy_nonce_generator; end
145
+ def content_security_policy_nonce_generator=(_); end
146
+ def content_security_policy_report_only; end
147
+ def content_security_policy_report_only=(_); end
148
+ def credentials; end
149
+ def credentials=(_); end
150
+ def database_configuration; end
151
+ def debug_exception_response_format; end
152
+ def debug_exception_response_format=(_); end
153
+ def default_log_file; end
154
+ def disable_sandbox; end
155
+ def disable_sandbox=(_); end
156
+ def eager_load; end
157
+ def eager_load=(_); end
158
+ def enable_dependency_loading; end
159
+ def enable_dependency_loading=(_); end
160
+ def encoding; end
161
+ def encoding=(value); end
162
+ def exceptions_app; end
163
+ def exceptions_app=(_); end
164
+ def feature_policy(&block); end
165
+ def file_watcher; end
166
+ def file_watcher=(_); end
167
+ def filter_parameters; end
168
+ def filter_parameters=(_); end
169
+ def filter_redirect; end
170
+ def filter_redirect=(_); end
171
+ def force_ssl; end
172
+ def force_ssl=(_); end
173
+ def helpers_paths; end
174
+ def helpers_paths=(_); end
175
+ def hosts; end
176
+ def hosts=(_); end
177
+ def load_database_yaml; end
178
+ def load_defaults(target_version); end
179
+ def loaded_config_version; end
180
+ def log_formatter; end
181
+ def log_formatter=(_); end
182
+ def log_level; end
183
+ def log_level=(_); end
184
+ def log_tags; end
185
+ def log_tags=(_); end
186
+ def logger; end
187
+ def logger=(_); end
188
+ def paths; end
189
+ def public_file_server; end
190
+ def public_file_server=(_); end
191
+ def railties_order; end
192
+ def railties_order=(_); end
193
+ def rake_eager_load; end
194
+ def rake_eager_load=(_); end
195
+ def read_encrypted_secrets; end
196
+ def read_encrypted_secrets=(_); end
197
+ def relative_url_root; end
198
+ def relative_url_root=(_); end
199
+ def reload_classes_only_on_change; end
200
+ def reload_classes_only_on_change=(_); end
201
+ def require_master_key; end
202
+ def require_master_key=(_); end
203
+ def secret_key_base; end
204
+ def secret_key_base=(_); end
205
+ def session_options; end
206
+ def session_options=(_); end
207
+ def session_store(new_session_store = T.unsafe(nil), **options); end
208
+ def session_store?; end
209
+ def ssl_options; end
210
+ def ssl_options=(_); end
211
+ def time_zone; end
212
+ def time_zone=(_); end
213
+ def x; end
214
+ def x=(_); end
215
+
216
+ private
217
+
218
+ def credentials_available_for_current_env?; end
219
+ def default_credentials_content_path; end
220
+ def default_credentials_key_path; end
221
+ end
222
+
223
+ class Rails::Application::Configuration::Custom
224
+ def initialize; end
225
+
226
+ def method_missing(method, *args); end
227
+
228
+ private
229
+
230
+ def respond_to_missing?(symbol, *_); end
231
+ end
232
+
233
+ class Rails::Application::DefaultMiddlewareStack
234
+ def initialize(app, config, paths); end
235
+
236
+ def app; end
237
+ def build_stack; end
238
+ def config; end
239
+ def paths; end
240
+
241
+ private
242
+
243
+ def load_rack_cache; end
244
+ def show_exceptions_app; end
245
+ end
246
+
247
+ module Rails::Application::Finisher
248
+ include(::Rails::Initializable)
249
+ extend(::Rails::Initializable::ClassMethods)
250
+ end
251
+
252
+ module Rails::Application::Finisher::InterlockHook
253
+ class << self
254
+ def complete(_state); end
255
+ def run; end
256
+ end
257
+ end
258
+
259
+ class Rails::Application::Finisher::MutexHook
260
+ def initialize(mutex = T.unsafe(nil)); end
261
+
262
+ def complete(_state); end
263
+ def run; end
264
+ end
265
+
266
+ Rails::Application::INITIAL_VARIABLES = T.let(T.unsafe(nil), Array)
267
+
268
+ class Rails::Application::RoutesReloader
269
+ def initialize; end
270
+
271
+ def eager_load; end
272
+ def eager_load=(_); end
273
+ def execute(*args, &block); end
274
+ def execute_if_updated(*args, &block); end
275
+ def external_routes; end
276
+ def paths; end
277
+ def reload!; end
278
+ def route_sets; end
279
+ def updated?(*args, &block); end
280
+
281
+ private
282
+
283
+ def clear!; end
284
+ def finalize!; end
285
+ def load_paths; end
286
+ def revert; end
287
+ def updater; end
288
+ end
289
+
290
+ class Rails::ApplicationController < ::ActionController::Base
291
+
292
+ private
293
+
294
+ def _layout(lookup_context, formats); end
295
+ def disable_content_security_policy_nonce!; end
296
+ def local_request?; end
297
+ def require_local!; end
298
+
299
+ class << self
300
+ def __callbacks; end
301
+ def _helpers; end
302
+ def _layout; end
303
+ def _layout_conditions; end
304
+ def middleware_stack; end
305
+ end
306
+ end
307
+
308
+ module Rails::ApplicationController::HelperMethods
309
+ include(::ActionController::Base::HelperMethods)
310
+ end
311
+
312
+ module Rails::Autoloaders
313
+ extend(::Enumerable)
314
+
315
+ class << self
316
+ def each; end
317
+ def log!; end
318
+ def logger=(logger); end
319
+ def main; end
320
+ def once; end
321
+ def zeitwerk_enabled?; end
322
+ end
323
+ end
324
+
325
+ module Rails::Configuration
326
+ end
327
+
328
+ class Rails::Configuration::Generators
329
+ def initialize; end
330
+
331
+ def after_generate(&block); end
332
+ def after_generate_callbacks; end
333
+ def aliases; end
334
+ def aliases=(_); end
335
+ def api_only; end
336
+ def api_only=(_); end
337
+ def colorize_logging; end
338
+ def colorize_logging=(_); end
339
+ def fallbacks; end
340
+ def fallbacks=(_); end
341
+ def hidden_namespaces; end
342
+ def hide_namespace(namespace); end
343
+ def method_missing(method, *args); end
344
+ def options; end
345
+ def options=(_); end
346
+ def templates; end
347
+ def templates=(_); end
348
+
349
+ private
350
+
351
+ def initialize_copy(source); end
352
+ end
353
+
354
+ class Rails::Configuration::MiddlewareStackProxy
355
+ def initialize(operations = T.unsafe(nil), delete_operations = T.unsafe(nil)); end
356
+
357
+ def +(other); end
358
+ def delete(*args, &block); end
359
+ def insert(*args, &block); end
360
+ def insert_after(*args, &block); end
361
+ def insert_before(*args, &block); end
362
+ def merge_into(other); end
363
+ def move(*args, &block); end
364
+ def move_after(*args, &block); end
365
+ def move_before(*args, &block); end
366
+ def swap(*args, &block); end
367
+ def unshift(*args, &block); end
368
+ def use(*args, &block); end
369
+
370
+ protected
371
+
372
+ def delete_operations; end
373
+ def operations; end
374
+ end
375
+
376
+ class Rails::Engine < ::Rails::Railtie
377
+ def initialize; end
378
+
379
+ def app; end
380
+ def call(env); end
381
+ def config; end
382
+ def eager_load!; end
383
+ def endpoint; end
384
+ def engine_name(*args, &block); end
385
+ def env_config; end
386
+ def helpers; end
387
+ def helpers_paths; end
388
+ def isolated?(*args, &block); end
389
+ def load_console(app = T.unsafe(nil)); end
390
+ def load_generators(app = T.unsafe(nil)); end
391
+ def load_runner(app = T.unsafe(nil)); end
392
+ def load_seed; end
393
+ def load_tasks(app = T.unsafe(nil)); end
394
+ def middleware(*args, &block); end
395
+ def paths(*args, &block); end
396
+ def railties; end
397
+ def root(*args, &block); end
398
+ def routes(&block); end
399
+ def routes?; end
400
+
401
+ protected
402
+
403
+ def run_tasks_blocks(*_); end
404
+
405
+ private
406
+
407
+ def _all_autoload_once_paths; end
408
+ def _all_autoload_paths; end
409
+ def _all_load_paths(add_autoload_paths_to_load_path); end
410
+ def build_middleware; end
411
+ def build_request(env); end
412
+ def default_middleware_stack; end
413
+ def has_migrations?; end
414
+ def load_config_initializer(initializer); end
415
+ def with_inline_jobs; end
416
+
417
+ class << self
418
+ def called_from; end
419
+ def called_from=(_); end
420
+ def eager_load!(*args, &block); end
421
+ def endpoint(endpoint = T.unsafe(nil)); end
422
+ def engine_name(name = T.unsafe(nil)); end
423
+ def find(path); end
424
+ def find_root(from); end
425
+ def find_root_with_flag(flag, root_path, default = T.unsafe(nil)); end
426
+ def inherited(base); end
427
+ def isolate_namespace(mod); end
428
+ def isolated; end
429
+ def isolated=(_); end
430
+ def isolated?; end
431
+ end
432
+ end
433
+
434
+ class Rails::Engine::Configuration < ::Rails::Railtie::Configuration
435
+ def initialize(root = T.unsafe(nil)); end
436
+
437
+ def autoload_once_paths; end
438
+ def autoload_once_paths=(_); end
439
+ def autoload_paths; end
440
+ def autoload_paths=(_); end
441
+ def eager_load_paths; end
442
+ def eager_load_paths=(_); end
443
+ def generators; end
444
+ def javascript_path; end
445
+ def javascript_path=(_); end
446
+ def middleware; end
447
+ def middleware=(_); end
448
+ def paths; end
449
+ def root; end
450
+ def root=(value); end
451
+ end
452
+
453
+ class Rails::Engine::Railties
454
+ include(::Enumerable)
455
+
456
+ def initialize; end
457
+
458
+ def -(others); end
459
+ def _all; end
460
+ def each(*args, &block); end
461
+ end
462
+
463
+ module Rails::Info
464
+ def properties; end
465
+ def properties=(val); end
466
+
467
+ class << self
468
+ def inspect; end
469
+ def properties; end
470
+ def properties=(val); end
471
+ def property(name, value = T.unsafe(nil)); end
472
+ def to_html; end
473
+ def to_s; end
474
+ end
475
+ end
476
+
477
+ class Rails::InfoController < ::Rails::ApplicationController
478
+ def index; end
479
+ def properties; end
480
+ def routes; end
481
+
482
+ private
483
+
484
+ def _layout(lookup_context, formats); end
485
+ def _layout_from_proc; end
486
+ def match_route; end
487
+ def with_leading_slash(path); end
488
+
489
+ class << self
490
+ def __callbacks; end
491
+ def _helpers; end
492
+ def _layout; end
493
+ def _layout_conditions; end
494
+ def middleware_stack; end
495
+ end
496
+ end
497
+
498
+ module Rails::InfoController::HelperMethods
499
+ include(::ActionController::Base::HelperMethods)
500
+ include(::Rails::ApplicationController::HelperMethods)
501
+ end
502
+
503
+ module Rails::Initializable
504
+ mixes_in_class_methods(::Rails::Initializable::ClassMethods)
505
+
506
+ def initializers; end
507
+ def run_initializers(group = T.unsafe(nil), *args); end
508
+
509
+ class << self
510
+ def included(base); end
511
+ end
512
+ end
513
+
514
+ module Rails::Initializable::ClassMethods
515
+ def initializer(name, opts = T.unsafe(nil), &blk); end
516
+ def initializers; end
517
+ def initializers_chain; end
518
+ def initializers_for(binding); end
519
+ end
520
+
521
+ class Rails::Initializable::Collection < ::Array
522
+ include(::TSort)
523
+
524
+ def +(other); end
525
+ def tsort_each_child(initializer, &block); end
526
+ def tsort_each_node; end
527
+ end
528
+
529
+ class Rails::Initializable::Initializer
530
+ def initialize(name, context, options, &block); end
531
+
532
+ def after; end
533
+ def before; end
534
+ def belongs_to?(group); end
535
+ def bind(context); end
536
+ def block; end
537
+ def context_class; end
538
+ def name; end
539
+ def run(*args); end
540
+ end
541
+
542
+ module Rails::LineFiltering
543
+ def run(reporter, options = T.unsafe(nil)); end
544
+ end
545
+
546
+ class Rails::MailersController < ::Rails::ApplicationController
547
+ def index; end
548
+ def preview; end
549
+
550
+ private
551
+
552
+ def _layout(lookup_context, formats); end
553
+ def find_part(format); end
554
+ def find_preferred_part(*formats); end
555
+ def find_preview; end
556
+ def locale_query(locale); end
557
+ def part_query(mime_type); end
558
+ def set_locale; end
559
+ def show_previews?; end
560
+
561
+ class << self
562
+ def __callbacks; end
563
+ def _helper_methods; end
564
+ def _helpers; end
565
+ def middleware_stack; end
566
+ end
567
+ end
568
+
569
+ module Rails::MailersController::HelperMethods
570
+ include(::ActionController::Base::HelperMethods)
571
+ include(::Rails::ApplicationController::HelperMethods)
572
+
573
+ def locale_query(*args, &block); end
574
+ def part_query(*args, &block); end
575
+ end
576
+
577
+ module Rails::Paths
578
+ end
579
+
580
+ class Rails::Paths::Path
581
+ include(::Enumerable)
582
+
583
+ def initialize(root, current, paths, options = T.unsafe(nil)); end
584
+
585
+ def <<(path); end
586
+ def absolute_current; end
587
+ def autoload!; end
588
+ def autoload?; end
589
+ def autoload_once!; end
590
+ def autoload_once?; end
591
+ def children; end
592
+ def concat(paths); end
593
+ def each(&block); end
594
+ def eager_load!; end
595
+ def eager_load?; end
596
+ def existent; end
597
+ def existent_directories; end
598
+ def expanded; end
599
+ def extensions; end
600
+ def first; end
601
+ def glob; end
602
+ def glob=(_); end
603
+ def last; end
604
+ def load_path!; end
605
+ def load_path?; end
606
+ def paths; end
607
+ def push(path); end
608
+ def skip_autoload!; end
609
+ def skip_autoload_once!; end
610
+ def skip_eager_load!; end
611
+ def skip_load_path!; end
612
+ def to_a; end
613
+ def to_ary; end
614
+ def unshift(*paths); end
615
+
616
+ private
617
+
618
+ def files_in(path); end
619
+ end
620
+
621
+ class Rails::Paths::Root
622
+ def initialize(path); end
623
+
624
+ def [](path); end
625
+ def []=(path, value); end
626
+ def add(path, options = T.unsafe(nil)); end
627
+ def all_paths; end
628
+ def autoload_once; end
629
+ def autoload_paths; end
630
+ def eager_load; end
631
+ def keys; end
632
+ def load_paths; end
633
+ def path; end
634
+ def path=(_); end
635
+ def values; end
636
+ def values_at(*list); end
637
+
638
+ private
639
+
640
+ def filter_by(&block); end
641
+ end
642
+
643
+ module Rails::Rack
644
+ end
645
+
646
+ class Rails::Rack::Logger < ::ActiveSupport::LogSubscriber
647
+ def initialize(app, taggers = T.unsafe(nil)); end
648
+
649
+ def call(env); end
650
+
651
+ private
652
+
653
+ def call_app(request, env); end
654
+ def compute_tags(request); end
655
+ def finish(request); end
656
+ def logger; end
657
+ def started_request_message(request); end
658
+ end
659
+
660
+ class Rails::Railtie
661
+ include(::Rails::Initializable)
662
+ extend(::Rails::Initializable::ClassMethods)
663
+
664
+ def initialize; end
665
+
666
+ def config; end
667
+ def configure(&block); end
668
+ def railtie_name(*args, &block); end
669
+ def railtie_namespace; end
670
+
671
+ protected
672
+
673
+ def run_console_blocks(app); end
674
+ def run_generators_blocks(app); end
675
+ def run_runner_blocks(app); end
676
+ def run_tasks_blocks(app); end
677
+
678
+ private
679
+
680
+ def each_registered_block(type, &block); end
681
+
682
+ class << self
683
+ def abstract_railtie?; end
684
+ def config(*args, &block); end
685
+ def configure(&block); end
686
+ def console(&blk); end
687
+ def generators(&blk); end
688
+ def inherited(base); end
689
+ def instance; end
690
+ def railtie_name(name = T.unsafe(nil)); end
691
+ def rake_tasks(&blk); end
692
+ def runner(&blk); end
693
+ def subclasses; end
694
+
695
+ private
696
+
697
+ def generate_railtie_name(string); end
698
+ def method_missing(name, *args, &block); end
699
+ def register_block_for(type, &blk); end
700
+ def respond_to_missing?(name, _); end
701
+ end
702
+ end
703
+
704
+ Rails::Railtie::ABSTRACT_RAILTIES = T.let(T.unsafe(nil), Array)
705
+
706
+ class Rails::Railtie::Configuration
707
+ def initialize; end
708
+
709
+ def after_initialize(&block); end
710
+ def app_generators; end
711
+ def app_middleware; end
712
+ def before_configuration(&block); end
713
+ def before_eager_load(&block); end
714
+ def before_initialize(&block); end
715
+ def eager_load_namespaces; end
716
+ def respond_to?(name, include_private = T.unsafe(nil)); end
717
+ def to_prepare(&blk); end
718
+ def to_prepare_blocks; end
719
+ def watchable_dirs; end
720
+ def watchable_files; end
721
+
722
+ private
723
+
724
+ def method_missing(name, *args, &blk); end
725
+
726
+ class << self
727
+ def eager_load_namespaces; end
728
+ end
729
+ end
730
+
731
+ class Rails::Secrets
732
+ class << self
733
+ def decrypt(data); end
734
+ def encrypt(data); end
735
+ def key; end
736
+ def parse(paths, env:); end
737
+ def read; end
738
+ def read_for_editing(&block); end
739
+ def root=(_); end
740
+ def write(contents); end
741
+
742
+ private
743
+
744
+ def encryptor; end
745
+ def handle_missing_key; end
746
+ def key_path; end
747
+ def path; end
748
+ def preprocess(path); end
749
+ def read_key_file; end
750
+ def writing(contents); end
751
+ end
752
+ end
753
+
754
+ class Rails::Secrets::MissingKeyError < ::RuntimeError
755
+ def initialize; end
756
+ end
757
+
758
+ class Rails::SourceAnnotationExtractor
759
+ def initialize(tag); end
760
+
761
+ def display(results, options = T.unsafe(nil)); end
762
+ def extract_annotations_from(file, pattern); end
763
+ def find(dirs); end
764
+ def find_in(dir); end
765
+ def tag; end
766
+
767
+ class << self
768
+ def enumerate(tag = T.unsafe(nil), options = T.unsafe(nil)); end
769
+ end
770
+ end
771
+
772
+ class Rails::SourceAnnotationExtractor::Annotation < ::Struct
773
+ def to_s(options = T.unsafe(nil)); end
774
+
775
+ class << self
776
+ def directories; end
777
+ def extensions; end
778
+ def notes_task_deprecation_warning; end
779
+ def register_directories(*dirs); end
780
+ def register_extensions(*exts, &block); end
781
+ def register_tags(*additional_tags); end
782
+ def tags; end
783
+ end
784
+ end
785
+
786
+ module Rails::TestUnit
787
+ end
788
+
789
+ class Rails::TestUnit::CompositeFilter
790
+ def initialize(runnable, filter, patterns); end
791
+
792
+ def ===(method); end
793
+ def named_filter; end
794
+
795
+ private
796
+
797
+ def derive_line_filters(patterns); end
798
+ def derive_named_filter(filter); end
799
+ end
800
+
801
+ class Rails::TestUnit::Filter
802
+ def initialize(runnable, file, line); end
803
+
804
+ def ===(method); end
805
+
806
+ private
807
+
808
+ def definition_for(method); end
809
+ end
810
+
811
+ class Rails::TestUnit::Runner
812
+ def filters; end
813
+
814
+ class << self
815
+ def attach_before_load_options(opts); end
816
+ def compose_filter(runnable, filter); end
817
+ def filters; end
818
+ def load_tests(argv); end
819
+ def parse_options(argv); end
820
+ def rake_run(argv = T.unsafe(nil)); end
821
+ def run(argv = T.unsafe(nil)); end
822
+
823
+ private
824
+
825
+ def default_test_exclude_glob; end
826
+ def default_test_glob; end
827
+ def extract_filters(argv); end
828
+ def path_argument?(arg); end
829
+ def regexp_filter?(arg); end
830
+ end
831
+ end
832
+
833
+ class Rails::TestUnitRailtie < ::Rails::Railtie
834
+ end
835
+
836
+ module Rails::VERSION
837
+ end
838
+
839
+ Rails::VERSION::MAJOR = T.let(T.unsafe(nil), Integer)
840
+
841
+ Rails::VERSION::MINOR = T.let(T.unsafe(nil), Integer)
842
+
843
+ Rails::VERSION::PRE = T.let(T.unsafe(nil), String)
844
+
845
+ Rails::VERSION::STRING = T.let(T.unsafe(nil), String)
846
+
847
+ Rails::VERSION::TINY = T.let(T.unsafe(nil), Integer)
848
+
849
+ class Rails::WelcomeController < ::Rails::ApplicationController
850
+ def index; end
851
+
852
+ private
853
+
854
+ def _layout(lookup_context, formats); end
855
+
856
+ class << self
857
+ def _helpers; end
858
+ def _layout; end
859
+ def _layout_conditions; end
860
+ def middleware_stack; end
861
+ end
862
+ end
863
+
864
+ module Rails::WelcomeController::HelperMethods
865
+ include(::ActionController::Base::HelperMethods)
866
+ include(::Rails::ApplicationController::HelperMethods)
867
+ end
868
+
869
+ SourceAnnotationExtractor = Rails::SourceAnnotationExtractor