packwerk 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
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