packwerk 2.2.0 → 2.2.2

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 (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)