packwerk 2.2.0 → 2.2.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (188) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/ci.yml +29 -20
  3. data/.github/workflows/cla.yml +22 -0
  4. data/.rubocop.yml +48 -19
  5. data/Gemfile +7 -2
  6. data/Gemfile.lock +202 -175
  7. data/README.md +1 -1
  8. data/RESOLVING_VIOLATIONS.md +81 -0
  9. data/Rakefile +1 -1
  10. data/USAGE.md +14 -5
  11. data/bin/m +1 -1
  12. data/bin/rake +1 -1
  13. data/bin/rubocop +1 -1
  14. data/bin/srb +1 -1
  15. data/bin/tapioca +1 -1
  16. data/gemfiles/Gemfile-rails-6-0 +1 -1
  17. data/gemfiles/Gemfile-rails-6-1 +22 -0
  18. data/lib/packwerk/application_load_paths.rb +1 -1
  19. data/lib/packwerk/application_validator.rb +7 -6
  20. data/lib/packwerk/association_inspector.rb +17 -15
  21. data/lib/packwerk/cache.rb +36 -29
  22. data/lib/packwerk/cli.rb +24 -20
  23. data/lib/packwerk/const_node_inspector.rb +8 -7
  24. data/lib/packwerk/constant_name_inspector.rb +2 -2
  25. data/lib/packwerk/deprecated_references.rb +40 -20
  26. data/lib/packwerk/file_processor.rb +14 -14
  27. data/lib/packwerk/files_for_processing.rb +27 -31
  28. data/lib/packwerk/formatters/offenses_formatter.rb +3 -3
  29. data/lib/packwerk/formatters/progress_formatter.rb +2 -2
  30. data/lib/packwerk/node.rb +1 -294
  31. data/lib/packwerk/node_helpers.rb +335 -0
  32. data/lib/packwerk/node_processor.rb +6 -5
  33. data/lib/packwerk/node_processor_factory.rb +3 -3
  34. data/lib/packwerk/node_visitor.rb +1 -1
  35. data/lib/packwerk/offense_collection.rb +27 -8
  36. data/lib/packwerk/offenses_formatter.rb +2 -2
  37. data/lib/packwerk/package.rb +3 -0
  38. data/lib/packwerk/package_set.rb +2 -0
  39. data/lib/packwerk/parse_run.rb +29 -20
  40. data/lib/packwerk/parsed_constant_definitions.rb +23 -20
  41. data/lib/packwerk/parsers/erb.rb +3 -3
  42. data/lib/packwerk/reference_checking/checkers/checker.rb +16 -3
  43. data/lib/packwerk/reference_checking/checkers/dependency_checker.rb +16 -0
  44. data/lib/packwerk/reference_checking/checkers/privacy_checker.rb +18 -0
  45. data/lib/packwerk/reference_checking/reference_checker.rb +3 -1
  46. data/lib/packwerk/reference_extractor.rb +51 -48
  47. data/lib/packwerk/reference_offense.rb +3 -27
  48. data/lib/packwerk/run_context.rb +9 -8
  49. data/lib/packwerk/spring_command.rb +1 -1
  50. data/lib/packwerk/version.rb +1 -1
  51. data/lib/packwerk.rb +1 -0
  52. data/packwerk.gemspec +5 -12
  53. data/sorbet/rbi/gems/actioncable@7.0.3.1.rbi +2754 -0
  54. data/sorbet/rbi/gems/actionmailbox@7.0.3.1.rbi +1496 -0
  55. data/sorbet/rbi/gems/actionmailer@7.0.3.1.rbi +2362 -0
  56. data/sorbet/rbi/gems/actionpack@7.0.3.1.rbi +19397 -0
  57. data/sorbet/rbi/gems/actiontext@7.0.3.1.rbi +1569 -0
  58. data/sorbet/rbi/gems/actionview@7.0.3.1.rbi +14907 -0
  59. data/sorbet/rbi/gems/activejob@7.0.3.1.rbi +2553 -0
  60. data/sorbet/rbi/gems/activemodel@7.0.3.1.rbi +5999 -0
  61. data/sorbet/rbi/gems/activerecord@7.0.3.1.rbi +37832 -0
  62. data/sorbet/rbi/gems/activestorage@7.0.3.1.rbi +2321 -0
  63. data/sorbet/rbi/gems/activesupport@7.0.3.1.rbi +18818 -0
  64. data/sorbet/rbi/gems/concurrent-ruby@1.1.10.rbi +11722 -0
  65. data/sorbet/rbi/gems/constant_resolver@0.2.0.rbi +90 -0
  66. data/sorbet/rbi/gems/diff-lcs@1.5.0.rbi +1079 -0
  67. data/sorbet/rbi/gems/digest@3.1.0.rbi +189 -0
  68. data/sorbet/rbi/gems/erubi@1.11.0.rbi +140 -0
  69. data/sorbet/rbi/gems/globalid@1.0.0.rbi +572 -0
  70. data/sorbet/rbi/gems/i18n@1.12.0.rbi +2296 -0
  71. data/sorbet/rbi/gems/json@2.6.2.rbi +1548 -0
  72. data/sorbet/rbi/gems/language_server-protocol@3.16.0.3.rbi +8 -0
  73. data/sorbet/rbi/gems/loofah@2.18.0.rbi +877 -0
  74. data/sorbet/rbi/gems/m@1.6.0.rbi +257 -0
  75. data/sorbet/rbi/gems/marcel@1.0.2.rbi +220 -0
  76. data/sorbet/rbi/gems/mini_mime@1.1.2.rbi +170 -0
  77. data/sorbet/rbi/gems/mini_portile2@2.8.0.rbi +8 -0
  78. data/sorbet/rbi/gems/minitest-focus@1.3.1.rbi +104 -0
  79. data/sorbet/rbi/gems/minitest@5.16.2.rbi +2136 -0
  80. data/sorbet/rbi/gems/mocha@1.14.0.rbi +4177 -0
  81. data/sorbet/rbi/gems/net-imap@0.2.3.rbi +2147 -0
  82. data/sorbet/rbi/gems/net-pop@0.1.1.rbi +926 -0
  83. data/sorbet/rbi/gems/net-protocol@0.1.3.rbi +11 -0
  84. data/sorbet/rbi/gems/net-smtp@0.3.1.rbi +1108 -0
  85. data/sorbet/rbi/gems/netrc@0.11.0.rbi +153 -0
  86. data/sorbet/rbi/gems/nio4r@2.5.8.rbi +292 -0
  87. data/sorbet/rbi/gems/nokogiri@1.13.8.rbi +6478 -0
  88. data/sorbet/rbi/gems/parallel@1.22.1.rbi +277 -0
  89. data/sorbet/rbi/gems/parser@3.1.2.1.rbi +9029 -0
  90. data/sorbet/rbi/gems/prettier_print@0.1.0.rbi +8 -0
  91. data/sorbet/rbi/gems/pry@0.14.1.rbi +8 -0
  92. data/sorbet/rbi/gems/racc@1.6.0.rbi +152 -0
  93. data/sorbet/rbi/gems/rack-test@2.0.2.rbi +953 -0
  94. data/sorbet/rbi/gems/rack@2.2.4.rbi +5636 -0
  95. data/sorbet/rbi/gems/rails-html-sanitizer@1.4.3.rbi +688 -0
  96. data/sorbet/rbi/gems/rails@7.0.3.1.rbi +8 -0
  97. data/sorbet/rbi/gems/railties@7.0.3.1.rbi +3507 -0
  98. data/sorbet/rbi/gems/rainbow@3.1.1.rbi +392 -0
  99. data/sorbet/rbi/gems/rake@13.0.6.rbi +2924 -0
  100. data/sorbet/rbi/gems/rbi@0.0.15.rbi +3007 -0
  101. data/sorbet/rbi/gems/regexp_parser@2.5.0.rbi +3383 -0
  102. data/sorbet/rbi/gems/rexml@3.2.5.rbi +4714 -0
  103. data/sorbet/rbi/gems/rubocop-ast@1.21.0.rbi +6961 -0
  104. data/sorbet/rbi/gems/rubocop-performance@1.14.3.rbi +2986 -0
  105. data/sorbet/rbi/gems/{rubocop-shopify@2.0.1.rbi → rubocop-shopify@2.9.0.rbi} +4 -4
  106. data/sorbet/rbi/gems/rubocop-sorbet@0.6.11.rbi +992 -0
  107. data/sorbet/rbi/gems/rubocop@1.34.1.rbi +51820 -0
  108. data/sorbet/rbi/gems/ruby-lsp@0.2.1.rbi +11 -0
  109. data/sorbet/rbi/gems/smart_properties@1.17.0.rbi +474 -0
  110. data/sorbet/rbi/gems/spoom@1.1.11.rbi +2181 -0
  111. data/sorbet/rbi/gems/spring@4.0.0.rbi +411 -0
  112. data/sorbet/rbi/gems/strscan@3.0.4.rbi +8 -0
  113. data/sorbet/rbi/gems/syntax_tree@3.3.0.rbi +8 -0
  114. data/sorbet/rbi/gems/tapioca@0.9.2.rbi +3181 -0
  115. data/sorbet/rbi/gems/thor@1.2.1.rbi +3956 -0
  116. data/sorbet/rbi/gems/timeout@0.3.0.rbi +142 -0
  117. data/sorbet/rbi/gems/tzinfo@2.0.5.rbi +5896 -0
  118. data/sorbet/rbi/gems/unicode-display_width@2.2.0.rbi +48 -0
  119. data/sorbet/rbi/gems/unparser@0.6.5.rbi +4529 -0
  120. data/sorbet/rbi/gems/webrick@1.7.0.rbi +2582 -0
  121. data/sorbet/rbi/gems/websocket-driver@0.7.5.rbi +993 -0
  122. data/sorbet/rbi/gems/yard-sorbet@0.6.1.rbi +388 -0
  123. data/sorbet/rbi/gems/yard@0.9.28.rbi +18242 -0
  124. data/sorbet/rbi/gems/zeitwerk@2.6.0.rbi +867 -0
  125. data/sorbet/rbi/shims/psych.rbi +5 -0
  126. data/sorbet/tapioca/require.rb +2 -3
  127. metadata +91 -146
  128. data/.github/probots.yml +0 -2
  129. data/library.yml +0 -6
  130. data/service.yml +0 -1
  131. data/sorbet/rbi/gems/actioncable@7.0.0.alpha-d612542336d9a61381311c95a27d801bb4094779.rbi +0 -860
  132. data/sorbet/rbi/gems/actionmailbox@7.0.0.alpha-d612542336d9a61381311c95a27d801bb4094779.rbi +0 -568
  133. data/sorbet/rbi/gems/actionmailer@7.0.0.alpha-d612542336d9a61381311c95a27d801bb4094779.rbi +0 -587
  134. data/sorbet/rbi/gems/actionpack@7.0.0.alpha-d612542336d9a61381311c95a27d801bb4094779.rbi +0 -5314
  135. data/sorbet/rbi/gems/actiontext@7.0.0.alpha-d612542336d9a61381311c95a27d801bb4094779.rbi +0 -699
  136. data/sorbet/rbi/gems/actionview@7.0.0.alpha-d612542336d9a61381311c95a27d801bb4094779.rbi +0 -2515
  137. data/sorbet/rbi/gems/activejob@7.0.0.alpha-d612542336d9a61381311c95a27d801bb4094779.rbi +0 -624
  138. data/sorbet/rbi/gems/activemodel@7.0.0.alpha-d612542336d9a61381311c95a27d801bb4094779.rbi +0 -1248
  139. data/sorbet/rbi/gems/activerecord@7.0.0.alpha-d612542336d9a61381311c95a27d801bb4094779.rbi +0 -8363
  140. data/sorbet/rbi/gems/activestorage@7.0.0.alpha-d612542336d9a61381311c95a27d801bb4094779.rbi +0 -876
  141. data/sorbet/rbi/gems/activesupport@7.0.0.alpha-d612542336d9a61381311c95a27d801bb4094779.rbi +0 -3987
  142. data/sorbet/rbi/gems/colorize@0.8.1.rbi +0 -40
  143. data/sorbet/rbi/gems/commander@4.5.2.rbi +0 -8
  144. data/sorbet/rbi/gems/concurrent-ruby@1.1.8.rbi +0 -1969
  145. data/sorbet/rbi/gems/constant_resolver@0.1.5.rbi +0 -26
  146. data/sorbet/rbi/gems/erubi@1.10.0.rbi +0 -41
  147. data/sorbet/rbi/gems/globalid@0.4.2.rbi +0 -178
  148. data/sorbet/rbi/gems/highline@2.0.3.rbi +0 -8
  149. data/sorbet/rbi/gems/i18n@1.8.10.rbi +0 -600
  150. data/sorbet/rbi/gems/loofah@2.9.0.rbi +0 -274
  151. data/sorbet/rbi/gems/m@1.5.1.rbi +0 -108
  152. data/sorbet/rbi/gems/marcel@1.0.0.rbi +0 -70
  153. data/sorbet/rbi/gems/mini_mime@1.0.3.rbi +0 -71
  154. data/sorbet/rbi/gems/minitest-focus@1.2.1.rbi +0 -8
  155. data/sorbet/rbi/gems/minitest@5.14.4.rbi +0 -544
  156. data/sorbet/rbi/gems/mocha@1.12.0.rbi +0 -953
  157. data/sorbet/rbi/gems/nio4r@2.5.7.rbi +0 -90
  158. data/sorbet/rbi/gems/nokogiri@1.11.2.rbi +0 -1647
  159. data/sorbet/rbi/gems/parallel@1.20.1.rbi +0 -117
  160. data/sorbet/rbi/gems/parlour@6.0.0.rbi +0 -1272
  161. data/sorbet/rbi/gems/parser@3.0.0.0.rbi +0 -1745
  162. data/sorbet/rbi/gems/pry@0.14.0.rbi +0 -8
  163. data/sorbet/rbi/gems/psych@3.3.2.rbi +0 -24
  164. data/sorbet/rbi/gems/racc@1.5.2.rbi +0 -57
  165. data/sorbet/rbi/gems/rack-test@1.1.0.rbi +0 -335
  166. data/sorbet/rbi/gems/rack@2.2.3.rbi +0 -1718
  167. data/sorbet/rbi/gems/rails-html-sanitizer@1.3.0.rbi +0 -213
  168. data/sorbet/rbi/gems/rails@7.0.0.alpha-d612542336d9a61381311c95a27d801bb4094779.rbi +0 -8
  169. data/sorbet/rbi/gems/railties@7.0.0.alpha-d612542336d9a61381311c95a27d801bb4094779.rbi +0 -880
  170. data/sorbet/rbi/gems/rainbow@3.0.0.rbi +0 -155
  171. data/sorbet/rbi/gems/rake@13.0.3.rbi +0 -837
  172. data/sorbet/rbi/gems/regexp_parser@2.1.1.rbi +0 -8
  173. data/sorbet/rbi/gems/rexml@3.2.4.rbi +0 -8
  174. data/sorbet/rbi/gems/rubocop-ast@1.4.1.rbi +0 -8
  175. data/sorbet/rbi/gems/rubocop-performance@1.10.2.rbi +0 -8
  176. data/sorbet/rbi/gems/rubocop-sorbet@0.6.1.rbi +0 -8
  177. data/sorbet/rbi/gems/rubocop@1.12.0.rbi +0 -8
  178. data/sorbet/rbi/gems/smart_properties@1.15.0.rbi +0 -168
  179. data/sorbet/rbi/gems/spoom@1.1.0.rbi +0 -1061
  180. data/sorbet/rbi/gems/spring@2.1.1.rbi +0 -160
  181. data/sorbet/rbi/gems/sprockets-rails@3.2.2.rbi +0 -451
  182. data/sorbet/rbi/gems/sprockets@4.0.2.rbi +0 -1133
  183. data/sorbet/rbi/gems/tapioca@0.4.19.rbi +0 -603
  184. data/sorbet/rbi/gems/thor@1.1.0.rbi +0 -893
  185. data/sorbet/rbi/gems/tzinfo@2.0.4.rbi +0 -566
  186. data/sorbet/rbi/gems/unicode-display_width@2.0.0.rbi +0 -8
  187. data/sorbet/rbi/gems/websocket-driver@0.7.3.rbi +0 -438
  188. data/sorbet/rbi/gems/zeitwerk@2.4.2.rbi +0 -177
@@ -1,8 +0,0 @@
1
- # DO NOT EDIT MANUALLY
2
- # This is an autogenerated file for types exported from the `pry` gem.
3
- # Please instead update this file by running `bin/tapioca sync`.
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
@@ -1,24 +0,0 @@
1
- # typed: true
2
-
3
- # DO NOT EDIT MANUALLY
4
- # This is an autogenerated file for types exported from the `psych` gem.
5
- # Please instead update this file by running `bin/tapioca gem psych`.
6
-
7
- ::RUBY19 = T.let(T.unsafe(nil), TrueClass)
8
-
9
- class Object < ::BasicObject
10
- include ::ActiveSupport::ToJsonWithActiveSupportEncoder
11
- include ::Kernel
12
- include ::JSON::Ext::Generator::GeneratorMethods::Object
13
- include ::ActiveSupport::Tryable
14
- include ::Minitest::Expectations
15
- include ::Mocha::ParameterMatchers::InstanceMethods
16
- include ::Mocha::Inspect::ObjectMethods
17
- include ::Mocha::ObjectMethods
18
-
19
- def to_yaml(options = T.unsafe(nil)); end
20
-
21
- class << self
22
- def yaml_tag(url); end
23
- end
24
- end
@@ -1,57 +0,0 @@
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,335 +0,0 @@
1
- # DO NOT EDIT MANUALLY
2
- # This is an autogenerated file for types exported from the `rack-test` gem.
3
- # Please instead update this file by running `dev typecheck update`.
4
-
5
- # typed: true
6
-
7
- module Rack
8
- class << self
9
- def release; end
10
- def version; end
11
- end
12
- end
13
-
14
- Rack::CACHE_CONTROL = T.let(T.unsafe(nil), String)
15
-
16
- Rack::CONTENT_LENGTH = T.let(T.unsafe(nil), String)
17
-
18
- Rack::CONTENT_TYPE = T.let(T.unsafe(nil), String)
19
-
20
- Rack::DELETE = T.let(T.unsafe(nil), String)
21
-
22
- Rack::ETAG = T.let(T.unsafe(nil), String)
23
-
24
- Rack::EXPIRES = T.let(T.unsafe(nil), String)
25
-
26
- Rack::File = Rack::Files
27
-
28
- Rack::GET = T.let(T.unsafe(nil), String)
29
-
30
- Rack::HEAD = T.let(T.unsafe(nil), String)
31
-
32
- Rack::HTTPS = T.let(T.unsafe(nil), String)
33
-
34
- Rack::HTTP_COOKIE = T.let(T.unsafe(nil), String)
35
-
36
- Rack::HTTP_HOST = T.let(T.unsafe(nil), String)
37
-
38
- Rack::HTTP_PORT = T.let(T.unsafe(nil), String)
39
-
40
- Rack::HTTP_VERSION = T.let(T.unsafe(nil), String)
41
-
42
- Rack::LINK = T.let(T.unsafe(nil), String)
43
-
44
- class Rack::MockSession
45
- def initialize(app, default_host = T.unsafe(nil)); end
46
-
47
- def after_request(&block); end
48
- def clear_cookies; end
49
- def cookie_jar; end
50
- def cookie_jar=(_); end
51
- def default_host; end
52
- def last_request; end
53
- def last_response; end
54
- def request(uri, env); end
55
- def set_cookie(cookie, uri = T.unsafe(nil)); end
56
- end
57
-
58
- Rack::OPTIONS = T.let(T.unsafe(nil), String)
59
-
60
- Rack::PATCH = T.let(T.unsafe(nil), String)
61
-
62
- Rack::PATH_INFO = T.let(T.unsafe(nil), String)
63
-
64
- Rack::POST = T.let(T.unsafe(nil), String)
65
-
66
- Rack::PUT = T.let(T.unsafe(nil), String)
67
-
68
- Rack::QUERY_STRING = T.let(T.unsafe(nil), String)
69
-
70
- Rack::RACK_ERRORS = T.let(T.unsafe(nil), String)
71
-
72
- Rack::RACK_HIJACK = T.let(T.unsafe(nil), String)
73
-
74
- Rack::RACK_HIJACK_IO = T.let(T.unsafe(nil), String)
75
-
76
- Rack::RACK_INPUT = T.let(T.unsafe(nil), String)
77
-
78
- Rack::RACK_IS_HIJACK = T.let(T.unsafe(nil), String)
79
-
80
- Rack::RACK_LOGGER = T.let(T.unsafe(nil), String)
81
-
82
- Rack::RACK_METHODOVERRIDE_ORIGINAL_METHOD = T.let(T.unsafe(nil), String)
83
-
84
- Rack::RACK_MULTIPART_BUFFER_SIZE = T.let(T.unsafe(nil), String)
85
-
86
- Rack::RACK_MULTIPART_TEMPFILE_FACTORY = T.let(T.unsafe(nil), String)
87
-
88
- Rack::RACK_MULTIPROCESS = T.let(T.unsafe(nil), String)
89
-
90
- Rack::RACK_MULTITHREAD = T.let(T.unsafe(nil), String)
91
-
92
- Rack::RACK_RECURSIVE_INCLUDE = T.let(T.unsafe(nil), String)
93
-
94
- Rack::RACK_REQUEST_COOKIE_HASH = T.let(T.unsafe(nil), String)
95
-
96
- Rack::RACK_REQUEST_COOKIE_STRING = T.let(T.unsafe(nil), String)
97
-
98
- Rack::RACK_REQUEST_FORM_HASH = T.let(T.unsafe(nil), String)
99
-
100
- Rack::RACK_REQUEST_FORM_INPUT = T.let(T.unsafe(nil), String)
101
-
102
- Rack::RACK_REQUEST_FORM_VARS = T.let(T.unsafe(nil), String)
103
-
104
- Rack::RACK_REQUEST_QUERY_HASH = T.let(T.unsafe(nil), String)
105
-
106
- Rack::RACK_REQUEST_QUERY_STRING = T.let(T.unsafe(nil), String)
107
-
108
- Rack::RACK_RUNONCE = T.let(T.unsafe(nil), String)
109
-
110
- Rack::RACK_SESSION = T.let(T.unsafe(nil), String)
111
-
112
- Rack::RACK_SESSION_OPTIONS = T.let(T.unsafe(nil), String)
113
-
114
- Rack::RACK_SESSION_UNPACKED_COOKIE_DATA = T.let(T.unsafe(nil), String)
115
-
116
- Rack::RACK_SHOWSTATUS_DETAIL = T.let(T.unsafe(nil), String)
117
-
118
- Rack::RACK_TEMPFILES = T.let(T.unsafe(nil), String)
119
-
120
- Rack::RACK_URL_SCHEME = T.let(T.unsafe(nil), String)
121
-
122
- Rack::RACK_VERSION = T.let(T.unsafe(nil), String)
123
-
124
- Rack::RELEASE = T.let(T.unsafe(nil), String)
125
-
126
- Rack::REQUEST_METHOD = T.let(T.unsafe(nil), String)
127
-
128
- Rack::REQUEST_PATH = T.let(T.unsafe(nil), String)
129
-
130
- Rack::SCRIPT_NAME = T.let(T.unsafe(nil), String)
131
-
132
- Rack::SERVER_NAME = T.let(T.unsafe(nil), String)
133
-
134
- Rack::SERVER_PORT = T.let(T.unsafe(nil), String)
135
-
136
- Rack::SERVER_PROTOCOL = T.let(T.unsafe(nil), String)
137
-
138
- Rack::SET_COOKIE = T.let(T.unsafe(nil), String)
139
-
140
- Rack::TRACE = T.let(T.unsafe(nil), String)
141
-
142
- Rack::TRANSFER_ENCODING = T.let(T.unsafe(nil), String)
143
-
144
- module Rack::Test
145
- class << self
146
- def encoding_aware_strings?; end
147
- end
148
- end
149
-
150
- class Rack::Test::Cookie
151
- include(::Rack::Utils)
152
-
153
- def initialize(raw, uri = T.unsafe(nil), default_host = T.unsafe(nil)); end
154
-
155
- def <=>(other); end
156
- def domain; end
157
- def empty?; end
158
- def expired?; end
159
- def expires; end
160
- def http_only?; end
161
- def matches?(uri); end
162
- def name; end
163
- def path; end
164
- def raw; end
165
- def replaces?(other); end
166
- def secure?; end
167
- def to_h; end
168
- def to_hash; end
169
- def valid?(uri); end
170
- def value; end
171
-
172
- protected
173
-
174
- def default_uri; end
175
- end
176
-
177
- class Rack::Test::CookieJar
178
- def initialize(cookies = T.unsafe(nil), default_host = T.unsafe(nil)); end
179
-
180
- def <<(new_cookie); end
181
- def [](name); end
182
- def []=(name, value); end
183
- def delete(name); end
184
- def for(uri); end
185
- def get_cookie(name); end
186
- def merge(raw_cookies, uri = T.unsafe(nil)); end
187
- def to_hash; end
188
-
189
- protected
190
-
191
- def hash_for(uri = T.unsafe(nil)); end
192
- end
193
-
194
- Rack::Test::CookieJar::DELIMITER = T.let(T.unsafe(nil), String)
195
-
196
- Rack::Test::DEFAULT_HOST = T.let(T.unsafe(nil), String)
197
-
198
- class Rack::Test::Error < ::StandardError
199
- end
200
-
201
- Rack::Test::MULTIPART_BOUNDARY = T.let(T.unsafe(nil), String)
202
-
203
- module Rack::Test::Methods
204
- extend(::Forwardable)
205
-
206
- def _current_session_names; end
207
- def authorize(*args, &block); end
208
- def basic_authorize(*args, &block); end
209
- def build_rack_mock_session; end
210
- def build_rack_test_session(name); end
211
- def clear_cookies(*args, &block); end
212
- def current_session; end
213
- def custom_request(*args, &block); end
214
- def delete(*args, &block); end
215
- def digest_authorize(*args, &block); end
216
- def env(*args, &block); end
217
- def follow_redirect!(*args, &block); end
218
- def get(*args, &block); end
219
- def head(*args, &block); end
220
- def header(*args, &block); end
221
- def last_request(*args, &block); end
222
- def last_response(*args, &block); end
223
- def options(*args, &block); end
224
- def patch(*args, &block); end
225
- def post(*args, &block); end
226
- def put(*args, &block); end
227
- def rack_mock_session(name = T.unsafe(nil)); end
228
- def rack_test_session(name = T.unsafe(nil)); end
229
- def request(*args, &block); end
230
- def set_cookie(*args, &block); end
231
- def with_session(name); end
232
- end
233
-
234
- Rack::Test::Methods::METHODS = T.let(T.unsafe(nil), Array)
235
-
236
- class Rack::Test::MockDigestRequest
237
- def initialize(params); end
238
-
239
- def method; end
240
- def method_missing(sym); end
241
- def response(password); end
242
- end
243
-
244
- class Rack::Test::Session
245
- include(::Rack::Utils)
246
- include(::Rack::Test::Utils)
247
- extend(::Forwardable)
248
-
249
- def initialize(mock_session); end
250
-
251
- def authorize(username, password); end
252
- def basic_authorize(username, password); end
253
- def clear_cookies(*args, &block); end
254
- def custom_request(verb, uri, params = T.unsafe(nil), env = T.unsafe(nil), &block); end
255
- def delete(uri, params = T.unsafe(nil), env = T.unsafe(nil), &block); end
256
- def digest_authorize(username, password); end
257
- def env(name, value); end
258
- def follow_redirect!; end
259
- def get(uri, params = T.unsafe(nil), env = T.unsafe(nil), &block); end
260
- def head(uri, params = T.unsafe(nil), env = T.unsafe(nil), &block); end
261
- def header(name, value); end
262
- def last_request(*args, &block); end
263
- def last_response(*args, &block); end
264
- def options(uri, params = T.unsafe(nil), env = T.unsafe(nil), &block); end
265
- def patch(uri, params = T.unsafe(nil), env = T.unsafe(nil), &block); end
266
- def post(uri, params = T.unsafe(nil), env = T.unsafe(nil), &block); end
267
- def put(uri, params = T.unsafe(nil), env = T.unsafe(nil), &block); end
268
- def request(uri, env = T.unsafe(nil), &block); end
269
- def set_cookie(*args, &block); end
270
-
271
- private
272
-
273
- def default_env; end
274
- def digest_auth_configured?; end
275
- def digest_auth_header; end
276
- def env_for(uri, env); end
277
- def headers_for_env; end
278
- def params_to_string(params); end
279
- def parse_uri(path, env); end
280
- def process_request(uri, env); end
281
- def retry_with_digest_auth?(env); end
282
- end
283
-
284
- class Rack::Test::UploadedFile
285
- def initialize(content, content_type = T.unsafe(nil), binary = T.unsafe(nil), original_filename: T.unsafe(nil)); end
286
-
287
- def content_type; end
288
- def content_type=(_); end
289
- def local_path; end
290
- def method_missing(method_name, *args, &block); end
291
- def original_filename; end
292
- def path; end
293
- def tempfile; end
294
-
295
- private
296
-
297
- def initialize_from_file_path(path); end
298
- def initialize_from_stringio(stringio, original_filename); end
299
- def respond_to_missing?(method_name, include_private = T.unsafe(nil)); end
300
-
301
- class << self
302
- def actually_finalize(file); end
303
- def finalize(file); end
304
- end
305
- end
306
-
307
- module Rack::Test::Utils
308
- include(::Rack::Utils)
309
- extend(::Rack::Utils)
310
-
311
-
312
- private
313
-
314
- def build_file_part(parameter_name, uploaded_file); end
315
- def build_multipart(params, first = T.unsafe(nil), multipart = T.unsafe(nil)); end
316
- def build_nested_query(value, prefix = T.unsafe(nil)); end
317
- def build_parts(parameters); end
318
- def build_primitive_part(parameter_name, value); end
319
- def get_parts(parameters); end
320
-
321
- class << self
322
- def build_file_part(parameter_name, uploaded_file); end
323
- def build_multipart(params, first = T.unsafe(nil), multipart = T.unsafe(nil)); end
324
- def build_nested_query(value, prefix = T.unsafe(nil)); end
325
- def build_parts(parameters); end
326
- def build_primitive_part(parameter_name, value); end
327
- def get_parts(parameters); end
328
- end
329
- end
330
-
331
- Rack::Test::VERSION = T.let(T.unsafe(nil), String)
332
-
333
- Rack::UNLINK = T.let(T.unsafe(nil), String)
334
-
335
- Rack::VERSION = T.let(T.unsafe(nil), Array)