packwerk 1.0.1 → 1.1.3

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 (118) hide show
  1. checksums.yaml +4 -4
  2. data/.github/pull_request_template.md +8 -7
  3. data/.github/workflows/ci.yml +14 -5
  4. data/.ruby-version +1 -1
  5. data/Gemfile +2 -1
  6. data/Gemfile.lock +130 -110
  7. data/README.md +8 -1
  8. data/USAGE.md +23 -2
  9. data/dev.yml +1 -1
  10. data/exe/packwerk +1 -1
  11. data/gemfiles/Gemfile-rails-6-0 +22 -0
  12. data/lib/packwerk.rb +4 -2
  13. data/lib/packwerk/application_load_paths.rb +68 -0
  14. data/lib/packwerk/application_validator.rb +94 -74
  15. data/lib/packwerk/association_inspector.rb +24 -9
  16. data/lib/packwerk/cache_deprecated_references.rb +55 -0
  17. data/lib/packwerk/checker.rb +3 -0
  18. data/lib/packwerk/checking_deprecated_references.rb +5 -2
  19. data/lib/packwerk/cli.rb +56 -55
  20. data/lib/packwerk/commands/detect_stale_violations_command.rb +60 -0
  21. data/lib/packwerk/commands/offense_progress_marker.rb +24 -0
  22. data/lib/packwerk/commands/result.rb +13 -0
  23. data/lib/packwerk/commands/update_deprecations_command.rb +81 -0
  24. data/lib/packwerk/configuration.rb +5 -37
  25. data/lib/packwerk/const_node_inspector.rb +28 -17
  26. data/lib/packwerk/dependency_checker.rb +13 -5
  27. data/lib/packwerk/deprecated_references.rb +23 -0
  28. data/lib/packwerk/detect_stale_deprecated_references.rb +14 -0
  29. data/lib/packwerk/file_processor.rb +4 -4
  30. data/lib/packwerk/formatters/offenses_formatter.rb +48 -0
  31. data/lib/packwerk/formatters/progress_formatter.rb +6 -2
  32. data/lib/packwerk/inflector.rb +17 -8
  33. data/lib/packwerk/node.rb +61 -38
  34. data/lib/packwerk/node_processor.rb +4 -4
  35. data/lib/packwerk/node_processor_factory.rb +39 -0
  36. data/lib/packwerk/node_visitor.rb +1 -1
  37. data/lib/packwerk/offense.rb +4 -6
  38. data/lib/packwerk/output_style.rb +20 -0
  39. data/lib/packwerk/output_styles/coloured.rb +29 -0
  40. data/lib/packwerk/output_styles/plain.rb +26 -0
  41. data/lib/packwerk/package_set.rb +9 -3
  42. data/lib/packwerk/parsed_constant_definitions.rb +4 -4
  43. data/lib/packwerk/parsers/erb.rb +4 -0
  44. data/lib/packwerk/parsers/factory.rb +10 -1
  45. data/lib/packwerk/privacy_checker.rb +23 -5
  46. data/lib/packwerk/run_context.rb +69 -46
  47. data/lib/packwerk/sanity_checker.rb +1 -1
  48. data/lib/packwerk/spring_command.rb +1 -1
  49. data/lib/packwerk/updating_deprecated_references.rb +2 -39
  50. data/lib/packwerk/version.rb +1 -1
  51. data/library.yml +1 -1
  52. data/packwerk.gemspec +1 -1
  53. data/service.yml +2 -2
  54. data/shipit.rubygems.yml +5 -1
  55. data/sorbet/rbi/gems/{actioncable@6.1.0.alpha-d80c18a391e33552ae2d943e68af56946f883f65.rbi → actioncable@7.0.0.alpha-d612542336d9a61381311c95a27d801bb4094779.rbi} +56 -36
  56. data/sorbet/rbi/gems/{actionmailbox@6.1.0.alpha-d80c18a391e33552ae2d943e68af56946f883f65.rbi → actionmailbox@7.0.0.alpha-d612542336d9a61381311c95a27d801bb4094779.rbi} +25 -28
  57. data/sorbet/rbi/gems/{actionmailer@6.1.0.alpha-d80c18a391e33552ae2d943e68af56946f883f65.rbi → actionmailer@7.0.0.alpha-d612542336d9a61381311c95a27d801bb4094779.rbi} +43 -24
  58. data/sorbet/rbi/gems/{actionpack@6.1.0.alpha-d80c18a391e33552ae2d943e68af56946f883f65.rbi → actionpack@7.0.0.alpha-d612542336d9a61381311c95a27d801bb4094779.rbi} +382 -284
  59. data/sorbet/rbi/gems/{actiontext@6.1.0.alpha-d80c18a391e33552ae2d943e68af56946f883f65.rbi → actiontext@7.0.0.alpha-d612542336d9a61381311c95a27d801bb4094779.rbi} +76 -40
  60. data/sorbet/rbi/gems/{actionview@6.1.0.alpha-d80c18a391e33552ae2d943e68af56946f883f65.rbi → actionview@7.0.0.alpha-d612542336d9a61381311c95a27d801bb4094779.rbi} +206 -195
  61. data/sorbet/rbi/gems/{activejob@6.1.0.alpha-d80c18a391e33552ae2d943e68af56946f883f65.rbi → activejob@7.0.0.alpha-d612542336d9a61381311c95a27d801bb4094779.rbi} +64 -75
  62. data/sorbet/rbi/gems/{activemodel@6.1.0.alpha-d80c18a391e33552ae2d943e68af56946f883f65.rbi → activemodel@7.0.0.alpha-d612542336d9a61381311c95a27d801bb4094779.rbi} +103 -56
  63. data/sorbet/rbi/gems/{activerecord@6.1.0.alpha-d80c18a391e33552ae2d943e68af56946f883f65.rbi → activerecord@7.0.0.alpha-d612542336d9a61381311c95a27d801bb4094779.rbi} +1250 -898
  64. data/sorbet/rbi/gems/{activestorage@6.1.0.alpha-d80c18a391e33552ae2d943e68af56946f883f65.rbi → activestorage@7.0.0.alpha-d612542336d9a61381311c95a27d801bb4094779.rbi} +92 -120
  65. data/sorbet/rbi/gems/{activesupport@6.1.0.alpha-d80c18a391e33552ae2d943e68af56946f883f65.rbi → activesupport@7.0.0.alpha-d612542336d9a61381311c95a27d801bb4094779.rbi} +292 -193
  66. data/sorbet/rbi/gems/{ast@2.4.1.rbi → ast@2.4.2.rbi} +2 -1
  67. data/sorbet/rbi/gems/{better_html@1.0.15.rbi → better_html@1.0.16.rbi} +2 -2
  68. data/sorbet/rbi/gems/{concurrent-ruby@1.1.6.rbi → concurrent-ruby@1.1.8.rbi} +12 -9
  69. data/sorbet/rbi/gems/{erubi@1.9.0.rbi → erubi@1.10.0.rbi} +3 -1
  70. data/sorbet/rbi/gems/{i18n@1.8.2.rbi → i18n@1.8.10.rbi} +19 -52
  71. data/sorbet/rbi/gems/{loofah@2.5.0.rbi → loofah@2.9.0.rbi} +3 -1
  72. data/sorbet/rbi/gems/marcel@1.0.0.rbi +70 -0
  73. data/sorbet/rbi/gems/{mini_mime@1.0.2.rbi → mini_mime@1.0.3.rbi} +6 -6
  74. data/sorbet/rbi/gems/{mini_portile2@2.4.0.rbi → minitest-focus@1.2.1.rbi} +2 -2
  75. data/sorbet/rbi/gems/{minitest@5.14.0.rbi → minitest@5.14.4.rbi} +31 -29
  76. data/sorbet/rbi/gems/{mocha@1.11.2.rbi → mocha@1.12.0.rbi} +25 -36
  77. data/sorbet/rbi/gems/{nio4r@2.5.2.rbi → nio4r@2.5.7.rbi} +21 -20
  78. data/sorbet/rbi/gems/{nokogiri@1.10.9.rbi → nokogiri@1.11.2.rbi} +193 -154
  79. data/sorbet/rbi/gems/{parallel@1.19.1.rbi → parallel@1.20.1.rbi} +1 -1
  80. data/sorbet/rbi/gems/parlour@6.0.0.rbi +1272 -0
  81. data/sorbet/rbi/gems/{parser@2.7.1.4.rbi → parser@3.0.0.0.rbi} +287 -174
  82. data/sorbet/rbi/gems/{pry@0.13.1.rbi → pry@0.14.0.rbi} +1 -1
  83. data/sorbet/rbi/gems/racc@1.5.2.rbi +57 -0
  84. data/sorbet/rbi/gems/{rack@2.2.2.rbi → rack@2.2.3.rbi} +23 -35
  85. data/sorbet/rbi/gems/{rails@6.1.0.alpha-d80c18a391e33552ae2d943e68af56946f883f65.rbi → rails@7.0.0.alpha-d612542336d9a61381311c95a27d801bb4094779.rbi} +1 -1
  86. data/sorbet/rbi/gems/{railties@6.1.0.alpha-d80c18a391e33552ae2d943e68af56946f883f65.rbi → railties@7.0.0.alpha-d612542336d9a61381311c95a27d801bb4094779.rbi} +132 -121
  87. data/sorbet/rbi/gems/{rake@13.0.1.rbi → rake@13.0.3.rbi} +16 -20
  88. data/sorbet/rbi/gems/regexp_parser@2.1.1.rbi +8 -0
  89. data/sorbet/rbi/gems/rubocop-ast@1.4.1.rbi +8 -0
  90. data/sorbet/rbi/gems/{rubocop-performance@1.5.2.rbi → rubocop-performance@1.10.2.rbi} +1 -1
  91. data/sorbet/rbi/gems/{rubocop-shopify@1.0.2.rbi → rubocop-shopify@2.0.1.rbi} +1 -1
  92. data/sorbet/rbi/gems/{rubocop-sorbet@0.3.7.rbi → rubocop-sorbet@0.6.1.rbi} +1 -1
  93. data/sorbet/rbi/gems/{rubocop@0.82.0.rbi → rubocop@1.12.0.rbi} +1 -1
  94. data/sorbet/rbi/gems/{ruby-progressbar@1.10.1.rbi → ruby-progressbar@1.11.0.rbi} +1 -1
  95. data/sorbet/rbi/gems/spoom@1.1.0.rbi +1061 -0
  96. data/sorbet/rbi/gems/{spring@2.1.0.rbi → spring@2.1.1.rbi} +7 -7
  97. data/sorbet/rbi/gems/{sprockets-rails@3.2.1.rbi → sprockets-rails@3.2.2.rbi} +88 -68
  98. data/sorbet/rbi/gems/{sprockets@4.0.0.rbi → sprockets@4.0.2.rbi} +8 -7
  99. data/sorbet/rbi/gems/{tapioca@0.4.5.rbi → tapioca@0.4.19.rbi} +109 -24
  100. data/sorbet/rbi/gems/{thor@1.0.1.rbi → thor@1.1.0.rbi} +16 -15
  101. data/sorbet/rbi/gems/{tzinfo@2.0.2.rbi → tzinfo@2.0.4.rbi} +21 -2
  102. data/sorbet/rbi/gems/{unicode-display_width@1.7.0.rbi → unicode-display_width@2.0.0.rbi} +1 -1
  103. data/sorbet/rbi/gems/{websocket-driver@0.7.1.rbi → websocket-driver@0.7.3.rbi} +29 -29
  104. data/sorbet/rbi/gems/{websocket-extensions@0.1.4.rbi → websocket-extensions@0.1.5.rbi} +2 -2
  105. data/sorbet/rbi/gems/zeitwerk@2.4.2.rbi +177 -0
  106. metadata +66 -58
  107. data/lib/packwerk/output_styles.rb +0 -41
  108. data/sorbet/rbi/gems/jaro_winkler@1.5.4.rbi +0 -8
  109. data/sorbet/rbi/gems/marcel@0.3.3.rbi +0 -30
  110. data/sorbet/rbi/gems/mimemagic@0.3.5.rbi +0 -47
  111. data/sorbet/rbi/gems/parlour@4.0.1.rbi +0 -561
  112. data/sorbet/rbi/gems/spoom@1.0.4.rbi +0 -418
  113. data/sorbet/rbi/gems/zeitwerk@2.3.0.rbi +0 -8
  114. data/static/packwerk-check-demo.png +0 -0
  115. data/static/packwerk_check.gif +0 -0
  116. data/static/packwerk_check_violation.gif +0 -0
  117. data/static/packwerk_update.gif +0 -0
  118. data/static/packwerk_validate.gif +0 -0
@@ -1,6 +1,6 @@
1
1
  # DO NOT EDIT MANUALLY
2
2
  # This is an autogenerated file for types exported from the `pry` gem.
3
- # Please instead update this file by running `dev typecheck update`.
3
+ # Please instead update this file by running `bin/tapioca sync`.
4
4
 
5
5
  # typed: true
6
6
 
@@ -0,0 +1,57 @@
1
+ # DO NOT EDIT MANUALLY
2
+ # This is an autogenerated file for types exported from the `racc` gem.
3
+ # Please instead update this file by running `bin/tapioca sync`.
4
+
5
+ # typed: true
6
+
7
+ ParseError = Racc::ParseError
8
+
9
+ Racc::Copyright = T.let(T.unsafe(nil), String)
10
+
11
+ class Racc::Parser
12
+ def _racc_do_parse_rb(arg, in_debug); end
13
+ def _racc_do_reduce(arg, act); end
14
+ def _racc_evalact(act, arg); end
15
+ def _racc_init_sysvars; end
16
+ def _racc_setup; end
17
+ def _racc_yyparse_rb(recv, mid, arg, c_debug); end
18
+ def next_token; end
19
+ def on_error(t, val, vstack); end
20
+ def racc_accept; end
21
+ def racc_e_pop(state, tstack, vstack); end
22
+ def racc_next_state(curstate, state); end
23
+ def racc_print_stacks(t, v); end
24
+ def racc_print_states(s); end
25
+ def racc_read_token(t, tok, val); end
26
+ def racc_reduce(toks, sim, tstack, vstack); end
27
+ def racc_shift(tok, tstack, vstack); end
28
+ def racc_token2str(tok); end
29
+ def token_to_str(t); end
30
+ def yyaccept; end
31
+ def yyerrok; end
32
+ def yyerror; end
33
+
34
+ class << self
35
+ def racc_runtime_type; end
36
+ end
37
+ end
38
+
39
+ Racc::Parser::Racc_Main_Parsing_Routine = T.let(T.unsafe(nil), Symbol)
40
+
41
+ Racc::Parser::Racc_Runtime_Core_Id_C = T.let(T.unsafe(nil), String)
42
+
43
+ Racc::Parser::Racc_Runtime_Core_Version = T.let(T.unsafe(nil), String)
44
+
45
+ Racc::Parser::Racc_Runtime_Core_Version_C = T.let(T.unsafe(nil), String)
46
+
47
+ Racc::Parser::Racc_Runtime_Core_Version_R = T.let(T.unsafe(nil), String)
48
+
49
+ Racc::Parser::Racc_Runtime_Type = T.let(T.unsafe(nil), String)
50
+
51
+ Racc::Parser::Racc_Runtime_Version = T.let(T.unsafe(nil), String)
52
+
53
+ Racc::Parser::Racc_YY_Parse_Method = T.let(T.unsafe(nil), Symbol)
54
+
55
+ Racc::VERSION = T.let(T.unsafe(nil), String)
56
+
57
+ Racc::Version = T.let(T.unsafe(nil), String)
@@ -1,6 +1,6 @@
1
1
  # DO NOT EDIT MANUALLY
2
2
  # This is an autogenerated file for types exported from the `rack` gem.
3
- # Please instead update this file by running `dev typecheck update`.
3
+ # Please instead update this file by running `bin/tapioca sync`.
4
4
 
5
5
  # typed: true
6
6
 
@@ -18,7 +18,7 @@ class Rack::Auth::AbstractHandler
18
18
  def initialize(app, realm = T.unsafe(nil), &authenticator); end
19
19
 
20
20
  def realm; end
21
- def realm=(_); end
21
+ def realm=(_arg0); end
22
22
 
23
23
  private
24
24
 
@@ -66,8 +66,8 @@ class Rack::Auth::Digest::MD5 < ::Rack::Auth::AbstractHandler
66
66
 
67
67
  def call(env); end
68
68
  def opaque; end
69
- def opaque=(_); end
70
- def passwords_hashed=(_); end
69
+ def opaque=(_arg0); end
70
+ def passwords_hashed=(_arg0); end
71
71
  def passwords_hashed?; end
72
72
 
73
73
  private
@@ -101,9 +101,9 @@ class Rack::Auth::Digest::Nonce
101
101
  class << self
102
102
  def parse(string); end
103
103
  def private_key; end
104
- def private_key=(_); end
104
+ def private_key=(_arg0); end
105
105
  def time_limit; end
106
- def time_limit=(_); end
106
+ def time_limit=(_arg0); end
107
107
  end
108
108
  end
109
109
 
@@ -131,7 +131,7 @@ class Rack::Auth::Digest::Request < ::Rack::Auth::AbstractRequest
131
131
  def method_missing(sym, *args); end
132
132
  def nonce; end
133
133
  def params; end
134
- def respond_to?(sym, *_); end
134
+ def respond_to?(sym, *_arg1); end
135
135
  end
136
136
 
137
137
  class Rack::BodyProxy
@@ -466,18 +466,6 @@ class Rack::Handler::CGI
466
466
  end
467
467
  end
468
468
 
469
- class Rack::Handler::WEBrick < ::WEBrick::HTTPServlet::AbstractServlet
470
- def initialize(server, app); end
471
-
472
- def service(req, res); end
473
-
474
- class << self
475
- def run(app, **options); end
476
- def shutdown; end
477
- def valid_options; end
478
- end
479
- end
480
-
481
469
  class Rack::Head
482
470
  def initialize(app); end
483
471
 
@@ -659,7 +647,7 @@ class Rack::MockResponse < ::Rack::Response
659
647
  def cookies; end
660
648
  def empty?; end
661
649
  def errors; end
662
- def errors=(_); end
650
+ def errors=(_arg0); end
663
651
  def match(other); end
664
652
  def original_headers; end
665
653
 
@@ -669,7 +657,7 @@ class Rack::MockResponse < ::Rack::Response
669
657
  def parse_cookies_from_header; end
670
658
 
671
659
  class << self
672
- def [](*_); end
660
+ def [](*_arg0); end
673
661
  end
674
662
  end
675
663
 
@@ -812,10 +800,10 @@ class Rack::Multipart::Parser::MultipartInfo < ::Struct
812
800
  def tmp_files=(_); end
813
801
 
814
802
  class << self
815
- def [](*_); end
803
+ def [](*_arg0); end
816
804
  def inspect; end
817
805
  def members; end
818
- def new(*_); end
806
+ def new(*_arg0); end
819
807
  end
820
808
  end
821
809
 
@@ -837,7 +825,7 @@ class Rack::Multipart::UploadedFile
837
825
  def initialize(filepath = T.unsafe(nil), ct = T.unsafe(nil), bin = T.unsafe(nil), path: T.unsafe(nil), content_type: T.unsafe(nil), binary: T.unsafe(nil), filename: T.unsafe(nil), io: T.unsafe(nil)); end
838
826
 
839
827
  def content_type; end
840
- def content_type=(_); end
828
+ def content_type=(_arg0); end
841
829
  def local_path; end
842
830
  def method_missing(method_name, *args, &block); end
843
831
  def original_filename; end
@@ -1026,7 +1014,7 @@ class Rack::Request
1026
1014
 
1027
1015
  class << self
1028
1016
  def ip_filter; end
1029
- def ip_filter=(_); end
1017
+ def ip_filter=(_arg0); end
1030
1018
  end
1031
1019
  end
1032
1020
 
@@ -1158,7 +1146,7 @@ class Rack::Response
1158
1146
  def [](key); end
1159
1147
  def []=(key, v); end
1160
1148
  def body; end
1161
- def body=(_); end
1149
+ def body=(_arg0); end
1162
1150
  def chunked?; end
1163
1151
  def close; end
1164
1152
  def delete_header(key); end
@@ -1170,11 +1158,11 @@ class Rack::Response
1170
1158
  def header; end
1171
1159
  def headers; end
1172
1160
  def length; end
1173
- def length=(_); end
1161
+ def length=(_arg0); end
1174
1162
  def redirect(target, status = T.unsafe(nil)); end
1175
1163
  def set_header(key, v); end
1176
1164
  def status; end
1177
- def status=(_); end
1165
+ def status=(_arg0); end
1178
1166
  def to_a(&block); end
1179
1167
  def write(chunk); end
1180
1168
 
@@ -1242,7 +1230,7 @@ class Rack::Response::Raw
1242
1230
  def headers; end
1243
1231
  def set_header(key, v); end
1244
1232
  def status; end
1245
- def status=(_); end
1233
+ def status=(_arg0); end
1246
1234
  end
1247
1235
 
1248
1236
  Rack::Response::STATUS_WITH_NO_ENTITY_BODY = T.let(T.unsafe(nil), Hash)
@@ -1300,7 +1288,7 @@ class Rack::Server
1300
1288
  def default_options; end
1301
1289
  def middleware; end
1302
1290
  def options; end
1303
- def options=(_); end
1291
+ def options=(_arg0); end
1304
1292
  def server; end
1305
1293
  def start(&block); end
1306
1294
 
@@ -1384,8 +1372,8 @@ end
1384
1372
  Rack::Session::Abstract::Persisted::DEFAULT_OPTIONS = T.let(T.unsafe(nil), Hash)
1385
1373
 
1386
1374
  class Rack::Session::Abstract::PersistedSecure < ::Rack::Session::Abstract::Persisted
1387
- def extract_session_id(*_); end
1388
- def generate_sid(*_); end
1375
+ def extract_session_id(*_arg0); end
1376
+ def generate_sid(*_arg0); end
1389
1377
 
1390
1378
  private
1391
1379
 
@@ -1414,7 +1402,7 @@ class Rack::Session::Abstract::SessionHash
1414
1402
  def fetch(key, default = T.unsafe(nil), &block); end
1415
1403
  def has_key?(key); end
1416
1404
  def id; end
1417
- def id=(_); end
1405
+ def id=(_arg0); end
1418
1406
  def include?(key); end
1419
1407
  def inspect; end
1420
1408
  def key?(key); end
@@ -1633,7 +1621,7 @@ module Rack::Utils
1633
1621
  def clean_path_info(path_info); end
1634
1622
  def clock_time; end
1635
1623
  def default_query_parser; end
1636
- def default_query_parser=(_); end
1624
+ def default_query_parser=(_arg0); end
1637
1625
  def delete_cookie_header!(header, key, value = T.unsafe(nil)); end
1638
1626
  def escape(s); end
1639
1627
  def escape_html(string); end
@@ -1643,7 +1631,7 @@ module Rack::Utils
1643
1631
  def key_space_limit=(v); end
1644
1632
  def make_delete_cookie_header(header, key, value); end
1645
1633
  def multipart_part_limit; end
1646
- def multipart_part_limit=(_); end
1634
+ def multipart_part_limit=(_arg0); end
1647
1635
  def param_depth_limit; end
1648
1636
  def param_depth_limit=(v); end
1649
1637
  def parse_cookies(env); end
@@ -1,6 +1,6 @@
1
1
  # DO NOT EDIT MANUALLY
2
2
  # This is an autogenerated file for types exported from the `rails` gem.
3
- # Please instead update this file by running `dev typecheck update`.
3
+ # Please instead update this file by running `bin/tapioca sync`.
4
4
 
5
5
  # typed: true
6
6
 
@@ -1,30 +1,31 @@
1
1
  # DO NOT EDIT MANUALLY
2
2
  # This is an autogenerated file for types exported from the `railties` gem.
3
- # Please instead update this file by running `dev typecheck update`.
3
+ # Please instead update this file by running `bin/tapioca sync`.
4
4
 
5
5
  # typed: true
6
6
 
7
7
  module Rails
8
8
  extend(::ActiveSupport::Autoload)
9
+ extend(::ActiveSupport::Benchmarkable)
9
10
 
10
11
  class << self
11
12
  def app_class; end
12
- def app_class=(_); end
13
+ def app_class=(_arg0); end
13
14
  def application; end
14
- def application=(_); end
15
+ def application=(_arg0); end
15
16
  def autoloaders; end
16
17
  def backtrace_cleaner; end
17
18
  def cache; end
18
- def cache=(_); end
19
+ def cache=(_arg0); end
19
20
  def configuration; end
20
21
  def env; end
21
22
  def env=(environment); end
22
23
  def gem_version; end
23
24
  def groups(*groups); end
24
- def initialize!(*args, &block); end
25
- def initialized?(*args, &block); end
25
+ def initialize!(*_arg0, &_arg1); end
26
+ def initialized?(*_arg0, &_arg1); end
26
27
  def logger; end
27
- def logger=(_); end
28
+ def logger=(_arg0); end
28
29
  def public_path; end
29
30
  def root; end
30
31
  def version; end
@@ -36,16 +37,17 @@ class Rails::Application < ::Rails::Engine
36
37
 
37
38
  def asset_precompiled?(logical_path); end
38
39
  def assets; end
39
- def assets=(_); end
40
+ def assets=(_arg0); end
40
41
  def assets_manifest; end
41
- def assets_manifest=(_); end
42
+ def assets_manifest=(_arg0); end
42
43
  def build_middleware_stack; end
43
44
  def config; end
44
- def config=(_); end
45
+ def config=(_arg0); end
45
46
  def config_for(name, env: T.unsafe(nil)); end
46
47
  def console(&blk); end
47
48
  def credentials; end
48
- def default_url_options(*args, &block); end
49
+ def credentials=(_arg0); end
50
+ def default_url_options(*_arg0, &_arg1); end
49
51
  def default_url_options=(arg); end
50
52
  def eager_load!; end
51
53
  def encrypted(path, key_path: T.unsafe(nil), env_key: T.unsafe(nil)); end
@@ -71,11 +73,12 @@ class Rails::Application < ::Rails::Engine
71
73
  def run_load_hooks!; end
72
74
  def runner(&blk); end
73
75
  def sandbox; end
74
- def sandbox=(_); end
76
+ def sandbox=(_arg0); end
75
77
  def sandbox?; end
76
78
  def secret_key_base; end
77
79
  def secrets; end
78
- def secrets=(_); end
80
+ def secrets=(_arg0); end
81
+ def server(&blk); end
79
82
  def to_app; end
80
83
  def watchable_args; end
81
84
 
@@ -87,6 +90,7 @@ class Rails::Application < ::Rails::Engine
87
90
  def run_console_blocks(app); end
88
91
  def run_generators_blocks(app); end
89
92
  def run_runner_blocks(app); end
93
+ def run_server_blocks(app); end
90
94
  def run_tasks_blocks(app); end
91
95
  def validate_secret_key_base(secret_key_base); end
92
96
 
@@ -94,6 +98,7 @@ class Rails::Application < ::Rails::Engine
94
98
 
95
99
  def build_middleware; end
96
100
  def build_request(env); end
101
+ def coerce_same_site_protection(protection); end
97
102
  def generate_development_secret; end
98
103
 
99
104
  class << self
@@ -111,107 +116,107 @@ module Rails::Application::Bootstrap
111
116
  end
112
117
 
113
118
  class Rails::Application::Configuration < ::Rails::Engine::Configuration
114
- def initialize(*_); end
119
+ def initialize(*_arg0); end
115
120
 
116
121
  def add_autoload_paths_to_load_path; end
117
- def add_autoload_paths_to_load_path=(_); end
122
+ def add_autoload_paths_to_load_path=(_arg0); end
118
123
  def allow_concurrency; end
119
- def allow_concurrency=(_); end
124
+ def allow_concurrency=(_arg0); end
120
125
  def annotations; end
121
126
  def api_only; end
122
127
  def api_only=(value); end
123
128
  def asset_host; end
124
- def asset_host=(_); end
129
+ def asset_host=(_arg0); end
125
130
  def autoflush_log; end
126
- def autoflush_log=(_); end
127
- def autoloader; end
128
- def autoloader=(autoloader); end
131
+ def autoflush_log=(_arg0); end
129
132
  def beginning_of_week; end
130
- def beginning_of_week=(_); end
133
+ def beginning_of_week=(_arg0); end
131
134
  def cache_classes; end
132
- def cache_classes=(_); end
135
+ def cache_classes=(_arg0); end
133
136
  def cache_store; end
134
- def cache_store=(_); end
137
+ def cache_store=(_arg0); end
135
138
  def colorize_logging; end
136
139
  def colorize_logging=(val); end
137
140
  def consider_all_requests_local; end
138
- def consider_all_requests_local=(_); end
141
+ def consider_all_requests_local=(_arg0); end
139
142
  def console; end
140
- def console=(_); end
143
+ def console=(_arg0); end
141
144
  def content_security_policy(&block); end
142
145
  def content_security_policy_nonce_directives; end
143
- def content_security_policy_nonce_directives=(_); end
146
+ def content_security_policy_nonce_directives=(_arg0); end
144
147
  def content_security_policy_nonce_generator; end
145
- def content_security_policy_nonce_generator=(_); end
148
+ def content_security_policy_nonce_generator=(_arg0); end
146
149
  def content_security_policy_report_only; end
147
- def content_security_policy_report_only=(_); end
150
+ def content_security_policy_report_only=(_arg0); end
148
151
  def credentials; end
149
- def credentials=(_); end
152
+ def credentials=(_arg0); end
150
153
  def database_configuration; end
151
154
  def debug_exception_response_format; end
152
- def debug_exception_response_format=(_); end
155
+ def debug_exception_response_format=(_arg0); end
153
156
  def default_log_file; end
154
157
  def disable_sandbox; end
155
- def disable_sandbox=(_); end
158
+ def disable_sandbox=(_arg0); end
156
159
  def eager_load; end
157
- def eager_load=(_); end
160
+ def eager_load=(_arg0); end
158
161
  def enable_dependency_loading; end
159
- def enable_dependency_loading=(_); end
162
+ def enable_dependency_loading=(_arg0); end
160
163
  def encoding; end
161
164
  def encoding=(value); end
162
165
  def exceptions_app; end
163
- def exceptions_app=(_); end
164
- def feature_policy(&block); end
166
+ def exceptions_app=(_arg0); end
165
167
  def file_watcher; end
166
- def file_watcher=(_); end
168
+ def file_watcher=(_arg0); end
167
169
  def filter_parameters; end
168
- def filter_parameters=(_); end
170
+ def filter_parameters=(_arg0); end
169
171
  def filter_redirect; end
170
- def filter_redirect=(_); end
172
+ def filter_redirect=(_arg0); end
171
173
  def force_ssl; end
172
- def force_ssl=(_); end
174
+ def force_ssl=(_arg0); end
173
175
  def helpers_paths; end
174
- def helpers_paths=(_); end
176
+ def helpers_paths=(_arg0); end
177
+ def host_authorization; end
178
+ def host_authorization=(_arg0); end
175
179
  def hosts; end
176
- def hosts=(_); end
180
+ def hosts=(_arg0); end
177
181
  def load_database_yaml; end
178
182
  def load_defaults(target_version); end
179
183
  def loaded_config_version; end
180
184
  def log_formatter; end
181
- def log_formatter=(_); end
185
+ def log_formatter=(_arg0); end
182
186
  def log_level; end
183
- def log_level=(_); end
187
+ def log_level=(_arg0); end
184
188
  def log_tags; end
185
- def log_tags=(_); end
189
+ def log_tags=(_arg0); end
186
190
  def logger; end
187
- def logger=(_); end
191
+ def logger=(_arg0); end
188
192
  def paths; end
193
+ def permissions_policy(&block); end
189
194
  def public_file_server; end
190
- def public_file_server=(_); end
195
+ def public_file_server=(_arg0); end
191
196
  def railties_order; end
192
- def railties_order=(_); end
197
+ def railties_order=(_arg0); end
193
198
  def rake_eager_load; end
194
- def rake_eager_load=(_); end
199
+ def rake_eager_load=(_arg0); end
195
200
  def read_encrypted_secrets; end
196
- def read_encrypted_secrets=(_); end
201
+ def read_encrypted_secrets=(_arg0); end
197
202
  def relative_url_root; end
198
- def relative_url_root=(_); end
203
+ def relative_url_root=(_arg0); end
199
204
  def reload_classes_only_on_change; end
200
- def reload_classes_only_on_change=(_); end
205
+ def reload_classes_only_on_change=(_arg0); end
201
206
  def require_master_key; end
202
- def require_master_key=(_); end
207
+ def require_master_key=(_arg0); end
203
208
  def secret_key_base; end
204
- def secret_key_base=(_); end
209
+ def secret_key_base=(_arg0); end
205
210
  def session_options; end
206
- def session_options=(_); end
211
+ def session_options=(_arg0); end
207
212
  def session_store(new_session_store = T.unsafe(nil), **options); end
208
213
  def session_store?; end
209
214
  def ssl_options; end
210
- def ssl_options=(_); end
215
+ def ssl_options=(_arg0); end
211
216
  def time_zone; end
212
- def time_zone=(_); end
217
+ def time_zone=(_arg0); end
213
218
  def x; end
214
- def x=(_); end
219
+ def x=(_arg0); end
215
220
 
216
221
  private
217
222
 
@@ -227,7 +232,7 @@ class Rails::Application::Configuration::Custom
227
232
 
228
233
  private
229
234
 
230
- def respond_to_missing?(symbol, *_); end
235
+ def respond_to_missing?(symbol, *_arg1); end
231
236
  end
232
237
 
233
238
  class Rails::Application::DefaultMiddlewareStack
@@ -266,17 +271,24 @@ end
266
271
  Rails::Application::INITIAL_VARIABLES = T.let(T.unsafe(nil), Array)
267
272
 
268
273
  class Rails::Application::RoutesReloader
274
+ include(::ActiveSupport::Callbacks)
275
+ extend(::ActiveSupport::Callbacks::ClassMethods)
276
+ extend(::ActiveSupport::DescendantsTracker)
277
+
269
278
  def initialize; end
270
279
 
280
+ def __callbacks; end
281
+ def __callbacks?; end
271
282
  def eager_load; end
272
- def eager_load=(_); end
273
- def execute(*args, &block); end
274
- def execute_if_updated(*args, &block); end
283
+ def eager_load=(_arg0); end
284
+ def execute(*_arg0, &_arg1); end
285
+ def execute_if_updated(*_arg0, &_arg1); end
275
286
  def external_routes; end
276
287
  def paths; end
277
288
  def reload!; end
278
289
  def route_sets; end
279
- def updated?(*args, &block); end
290
+ def run_after_load_paths=(_arg0); end
291
+ def updated?(*_arg0, &_arg1); end
280
292
 
281
293
  private
282
294
 
@@ -284,7 +296,14 @@ class Rails::Application::RoutesReloader
284
296
  def finalize!; end
285
297
  def load_paths; end
286
298
  def revert; end
299
+ def run_after_load_paths; end
287
300
  def updater; end
301
+
302
+ class << self
303
+ def __callbacks; end
304
+ def __callbacks=(value); end
305
+ def __callbacks?; end
306
+ end
288
307
  end
289
308
 
290
309
  class Rails::ApplicationController < ::ActionController::Base
@@ -298,17 +317,12 @@ class Rails::ApplicationController < ::ActionController::Base
298
317
 
299
318
  class << self
300
319
  def __callbacks; end
301
- def _helpers; end
302
320
  def _layout; end
303
321
  def _layout_conditions; end
304
322
  def middleware_stack; end
305
323
  end
306
324
  end
307
325
 
308
- module Rails::ApplicationController::HelperMethods
309
- include(::ActionController::Base::HelperMethods)
310
- end
311
-
312
326
  module Rails::Autoloaders
313
327
  extend(::Enumerable)
314
328
 
@@ -331,20 +345,20 @@ class Rails::Configuration::Generators
331
345
  def after_generate(&block); end
332
346
  def after_generate_callbacks; end
333
347
  def aliases; end
334
- def aliases=(_); end
348
+ def aliases=(_arg0); end
335
349
  def api_only; end
336
- def api_only=(_); end
350
+ def api_only=(_arg0); end
337
351
  def colorize_logging; end
338
- def colorize_logging=(_); end
352
+ def colorize_logging=(_arg0); end
339
353
  def fallbacks; end
340
- def fallbacks=(_); end
354
+ def fallbacks=(_arg0); end
341
355
  def hidden_namespaces; end
342
356
  def hide_namespace(namespace); end
343
357
  def method_missing(method, *args); end
344
358
  def options; end
345
- def options=(_); end
359
+ def options=(_arg0); end
346
360
  def templates; end
347
- def templates=(_); end
361
+ def templates=(_arg0); end
348
362
 
349
363
  private
350
364
 
@@ -355,17 +369,17 @@ class Rails::Configuration::MiddlewareStackProxy
355
369
  def initialize(operations = T.unsafe(nil), delete_operations = T.unsafe(nil)); end
356
370
 
357
371
  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
372
+ def delete(*_arg0, &_arg1); end
373
+ def insert(*_arg0, &_arg1); end
374
+ def insert_after(*_arg0, &_arg1); end
375
+ def insert_before(*_arg0, &_arg1); end
362
376
  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
377
+ def move(*_arg0, &_arg1); end
378
+ def move_after(*_arg0, &_arg1); end
379
+ def move_before(*_arg0, &_arg1); end
380
+ def swap(*_arg0, &_arg1); end
381
+ def unshift(*_arg0, &_arg1); end
382
+ def use(*_arg0, &_arg1); end
369
383
 
370
384
  protected
371
385
 
@@ -374,33 +388,41 @@ class Rails::Configuration::MiddlewareStackProxy
374
388
  end
375
389
 
376
390
  class Rails::Engine < ::Rails::Railtie
391
+ include(::ActiveSupport::Callbacks)
392
+ extend(::ActiveSupport::Callbacks::ClassMethods)
393
+
377
394
  def initialize; end
378
395
 
396
+ def __callbacks; end
397
+ def __callbacks?; end
398
+ def _load_seed_callbacks; end
399
+ def _run_load_seed_callbacks(&block); end
379
400
  def app; end
380
401
  def call(env); end
381
402
  def config; end
382
403
  def eager_load!; end
383
404
  def endpoint; end
384
- def engine_name(*args, &block); end
405
+ def engine_name(*_arg0, &_arg1); end
385
406
  def env_config; end
386
407
  def helpers; end
387
408
  def helpers_paths; end
388
- def isolated?(*args, &block); end
409
+ def isolated?(*_arg0, &_arg1); end
389
410
  def load_console(app = T.unsafe(nil)); end
390
411
  def load_generators(app = T.unsafe(nil)); end
391
412
  def load_runner(app = T.unsafe(nil)); end
392
413
  def load_seed; end
414
+ def load_server(app = T.unsafe(nil)); end
393
415
  def load_tasks(app = T.unsafe(nil)); end
394
- def middleware(*args, &block); end
395
- def paths(*args, &block); end
416
+ def middleware(*_arg0, &_arg1); end
417
+ def paths(*_arg0, &_arg1); end
396
418
  def railties; end
397
- def root(*args, &block); end
419
+ def root(*_arg0, &_arg1); end
398
420
  def routes(&block); end
399
421
  def routes?; end
400
422
 
401
423
  protected
402
424
 
403
- def run_tasks_blocks(*_); end
425
+ def run_tasks_blocks(*_arg0); end
404
426
 
405
427
  private
406
428
 
@@ -412,12 +434,16 @@ class Rails::Engine < ::Rails::Railtie
412
434
  def default_middleware_stack; end
413
435
  def has_migrations?; end
414
436
  def load_config_initializer(initializer); end
415
- def with_inline_jobs; end
416
437
 
417
438
  class << self
439
+ def __callbacks; end
440
+ def __callbacks=(value); end
441
+ def __callbacks?; end
442
+ def _load_seed_callbacks; end
443
+ def _load_seed_callbacks=(value); end
418
444
  def called_from; end
419
- def called_from=(_); end
420
- def eager_load!(*args, &block); end
445
+ def called_from=(_arg0); end
446
+ def eager_load!(*_arg0, &_arg1); end
421
447
  def endpoint(endpoint = T.unsafe(nil)); end
422
448
  def engine_name(name = T.unsafe(nil)); end
423
449
  def find(path); end
@@ -426,7 +452,7 @@ class Rails::Engine < ::Rails::Railtie
426
452
  def inherited(base); end
427
453
  def isolate_namespace(mod); end
428
454
  def isolated; end
429
- def isolated=(_); end
455
+ def isolated=(_arg0); end
430
456
  def isolated?; end
431
457
  end
432
458
  end
@@ -435,16 +461,16 @@ class Rails::Engine::Configuration < ::Rails::Railtie::Configuration
435
461
  def initialize(root = T.unsafe(nil)); end
436
462
 
437
463
  def autoload_once_paths; end
438
- def autoload_once_paths=(_); end
464
+ def autoload_once_paths=(_arg0); end
439
465
  def autoload_paths; end
440
- def autoload_paths=(_); end
466
+ def autoload_paths=(_arg0); end
441
467
  def eager_load_paths; end
442
- def eager_load_paths=(_); end
468
+ def eager_load_paths=(_arg0); end
443
469
  def generators; end
444
470
  def javascript_path; end
445
- def javascript_path=(_); end
471
+ def javascript_path=(_arg0); end
446
472
  def middleware; end
447
- def middleware=(_); end
473
+ def middleware=(_arg0); end
448
474
  def paths; end
449
475
  def root; end
450
476
  def root=(value); end
@@ -488,18 +514,12 @@ class Rails::InfoController < ::Rails::ApplicationController
488
514
 
489
515
  class << self
490
516
  def __callbacks; end
491
- def _helpers; end
492
517
  def _layout; end
493
518
  def _layout_conditions; end
494
519
  def middleware_stack; end
495
520
  end
496
521
  end
497
522
 
498
- module Rails::InfoController::HelperMethods
499
- include(::ActionController::Base::HelperMethods)
500
- include(::Rails::ApplicationController::HelperMethods)
501
- end
502
-
503
523
  module Rails::Initializable
504
524
  mixes_in_class_methods(::Rails::Initializable::ClassMethods)
505
525
 
@@ -561,14 +581,12 @@ class Rails::MailersController < ::Rails::ApplicationController
561
581
  class << self
562
582
  def __callbacks; end
563
583
  def _helper_methods; end
564
- def _helpers; end
565
584
  def middleware_stack; end
566
585
  end
567
586
  end
568
587
 
569
588
  module Rails::MailersController::HelperMethods
570
589
  include(::ActionController::Base::HelperMethods)
571
- include(::Rails::ApplicationController::HelperMethods)
572
590
 
573
591
  def locale_query(*args, &block); end
574
592
  def part_query(*args, &block); end
@@ -599,7 +617,7 @@ class Rails::Paths::Path
599
617
  def extensions; end
600
618
  def first; end
601
619
  def glob; end
602
- def glob=(_); end
620
+ def glob=(_arg0); end
603
621
  def last; end
604
622
  def load_path!; end
605
623
  def load_path?; end
@@ -631,7 +649,7 @@ class Rails::Paths::Root
631
649
  def keys; end
632
650
  def load_paths; end
633
651
  def path; end
634
- def path=(_); end
652
+ def path=(_arg0); end
635
653
  def values; end
636
654
  def values_at(*list); end
637
655
 
@@ -659,13 +677,14 @@ end
659
677
 
660
678
  class Rails::Railtie
661
679
  include(::Rails::Initializable)
680
+ extend(::ActiveSupport::DescendantsTracker)
662
681
  extend(::Rails::Initializable::ClassMethods)
663
682
 
664
683
  def initialize; end
665
684
 
666
685
  def config; end
667
686
  def configure(&block); end
668
- def railtie_name(*args, &block); end
687
+ def railtie_name(*_arg0, &_arg1); end
669
688
  def railtie_namespace; end
670
689
 
671
690
  protected
@@ -673,6 +692,7 @@ class Rails::Railtie
673
692
  def run_console_blocks(app); end
674
693
  def run_generators_blocks(app); end
675
694
  def run_runner_blocks(app); end
695
+ def run_server_blocks(app); end
676
696
  def run_tasks_blocks(app); end
677
697
 
678
698
  private
@@ -681,15 +701,15 @@ class Rails::Railtie
681
701
 
682
702
  class << self
683
703
  def abstract_railtie?; end
684
- def config(*args, &block); end
704
+ def config(*_arg0, &_arg1); end
685
705
  def configure(&block); end
686
706
  def console(&blk); end
687
707
  def generators(&blk); end
688
- def inherited(base); end
689
708
  def instance; end
690
709
  def railtie_name(name = T.unsafe(nil)); end
691
710
  def rake_tasks(&blk); end
692
711
  def runner(&blk); end
712
+ def server(&blk); end
693
713
  def subclasses; end
694
714
 
695
715
  private
@@ -736,7 +756,7 @@ class Rails::Secrets
736
756
  def parse(paths, env:); end
737
757
  def read; end
738
758
  def read_for_editing(&block); end
739
- def root=(_); end
759
+ def root=(_arg0); end
740
760
  def write(contents); end
741
761
 
742
762
  private
@@ -775,7 +795,6 @@ class Rails::SourceAnnotationExtractor::Annotation < ::Struct
775
795
  class << self
776
796
  def directories; end
777
797
  def extensions; end
778
- def notes_task_deprecation_warning; end
779
798
  def register_directories(*dirs); end
780
799
  def register_extensions(*exts, &block); end
781
800
  def register_tags(*additional_tags); end
@@ -854,16 +873,8 @@ class Rails::WelcomeController < ::Rails::ApplicationController
854
873
  def _layout(lookup_context, formats); end
855
874
 
856
875
  class << self
857
- def _helpers; end
858
876
  def _layout; end
859
877
  def _layout_conditions; end
860
878
  def middleware_stack; end
861
879
  end
862
880
  end
863
-
864
- module Rails::WelcomeController::HelperMethods
865
- include(::ActionController::Base::HelperMethods)
866
- include(::Rails::ApplicationController::HelperMethods)
867
- end
868
-
869
- SourceAnnotationExtractor = Rails::SourceAnnotationExtractor