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
@@ -0,0 +1,257 @@
1
+ # typed: true
2
+
3
+ # DO NOT EDIT MANUALLY
4
+ # This is an autogenerated file for types exported from the `m` gem.
5
+ # Please instead update this file by running `bin/tapioca gem m`.
6
+
7
+ # Runners are in charge of running your tests, depending on the framework
8
+ # Instead of slamming all of this junk in an `M` class, it's here instead.
9
+ #
10
+ # source://m-1.6.0/lib/m/version.rb:1
11
+ module M
12
+ class << self
13
+ # Accept arguments coming from bin/m and run tests, then bail out immediately.
14
+ #
15
+ # source://m-1.6.0/lib/m.rb:9
16
+ def run(argv); end
17
+ end
18
+ end
19
+
20
+ # source://m-1.6.0/lib/m/executor.rb:8
21
+ class M::Executor
22
+ # @return [Executor] a new instance of Executor
23
+ #
24
+ # source://m-1.6.0/lib/m/executor.rb:9
25
+ def initialize(testable); end
26
+
27
+ # source://m-1.6.0/lib/m/executor.rb:13
28
+ def execute; end
29
+
30
+ private
31
+
32
+ # source://m-1.6.0/lib/m/executor.rb:96
33
+ def runner; end
34
+
35
+ # Finds all test suites in this test file, with test methods included.
36
+ #
37
+ # source://m-1.6.0/lib/m/executor.rb:72
38
+ def suites; end
39
+
40
+ # Returns the value of attribute testable.
41
+ #
42
+ # source://m-1.6.0/lib/m/executor.rb:50
43
+ def testable; end
44
+
45
+ # Shoves tests together in our custom container and collection classes.
46
+ # Memoize it since it's unnecessary to do this more than one for a given file.
47
+ #
48
+ # source://m-1.6.0/lib/m/executor.rb:54
49
+ def tests; end
50
+ end
51
+
52
+ # source://m-1.6.0/lib/m/frameworks.rb:2
53
+ class M::Frameworks
54
+ # source://m-1.6.0/lib/m/frameworks.rb:7
55
+ def framework_runner; end
56
+
57
+ private
58
+
59
+ # @return [Boolean]
60
+ #
61
+ # source://m-1.6.0/lib/m/frameworks.rb:25
62
+ def minitest4?; end
63
+
64
+ # @return [Boolean]
65
+ #
66
+ # source://m-1.6.0/lib/m/frameworks.rb:21
67
+ def minitest5?; end
68
+
69
+ # @return [Boolean]
70
+ #
71
+ # source://m-1.6.0/lib/m/frameworks.rb:29
72
+ def test_unit?; end
73
+
74
+ class << self
75
+ # source://m-1.6.0/lib/m/frameworks.rb:3
76
+ def framework_runner; end
77
+
78
+ # @return [Boolean]
79
+ #
80
+ # source://m-1.6.0/lib/m/frameworks.rb:41
81
+ def minitest4?; end
82
+
83
+ # @return [Boolean]
84
+ #
85
+ # source://m-1.6.0/lib/m/frameworks.rb:37
86
+ def minitest5?; end
87
+
88
+ # source://m-1.6.0/lib/m/frameworks.rb:33
89
+ def minitest_version_major; end
90
+
91
+ # @return [Boolean]
92
+ #
93
+ # source://m-1.6.0/lib/m/frameworks.rb:45
94
+ def test_unit?; end
95
+ end
96
+ end
97
+
98
+ # source://m-1.6.0/lib/m/parser.rb:4
99
+ class M::Parser
100
+ # @return [Parser] a new instance of Parser
101
+ #
102
+ # source://m-1.6.0/lib/m/parser.rb:5
103
+ def initialize(argv); end
104
+
105
+ # source://m-1.6.0/lib/m/parser.rb:10
106
+ def parse; end
107
+
108
+ private
109
+
110
+ # Returns the value of attribute argv.
111
+ #
112
+ # source://m-1.6.0/lib/m/parser.rb:56
113
+ def argv; end
114
+
115
+ # source://m-1.6.0/lib/m/parser.rb:58
116
+ def parse_options!(argv); end
117
+
118
+ # Returns the value of attribute testable.
119
+ #
120
+ # source://m-1.6.0/lib/m/parser.rb:56
121
+ def testable; end
122
+
123
+ # source://m-1.6.0/lib/m/parser.rb:89
124
+ def wildcard(type); end
125
+ end
126
+
127
+ # source://m-1.6.0/lib/m/runner.rb:7
128
+ class M::Runner
129
+ # @return [Runner] a new instance of Runner
130
+ #
131
+ # source://m-1.6.0/lib/m/runner.rb:8
132
+ def initialize(argv); end
133
+
134
+ # There's two steps to running our tests:
135
+ # 1. Parsing the given input for the tests we need to find (or groups of tests)
136
+ # 2. Run those tests we found that match what you wanted
137
+ #
138
+ # source://m-1.6.0/lib/m/runner.rb:15
139
+ def run; end
140
+ end
141
+
142
+ # source://m-1.6.0/lib/m/runners/base.rb:2
143
+ module M::Runners; end
144
+
145
+ # source://m-1.6.0/lib/m/runners/base.rb:3
146
+ class M::Runners::Base
147
+ # source://m-1.6.0/lib/m/runners/base.rb:8
148
+ def run(_test_arguments); end
149
+
150
+ # source://m-1.6.0/lib/m/runners/base.rb:4
151
+ def suites; end
152
+
153
+ # source://m-1.6.0/lib/m/runners/base.rb:12
154
+ def test_methods(suite_class); end
155
+ end
156
+
157
+ # source://m-1.6.0/lib/m/runners/minitest_4.rb:3
158
+ class M::Runners::Minitest4 < ::M::Runners::Base
159
+ # source://m-1.6.0/lib/m/runners/minitest_4.rb:8
160
+ def run(test_arguments); end
161
+
162
+ # source://m-1.6.0/lib/m/runners/minitest_4.rb:4
163
+ def suites; end
164
+ end
165
+
166
+ # source://m-1.6.0/lib/m/runners/minitest_5.rb:3
167
+ class M::Runners::Minitest5 < ::M::Runners::Base
168
+ # source://m-1.6.0/lib/m/runners/minitest_5.rb:8
169
+ def run(test_arguments); end
170
+
171
+ # source://m-1.6.0/lib/m/runners/minitest_5.rb:4
172
+ def suites; end
173
+
174
+ # source://m-1.6.0/lib/m/runners/minitest_5.rb:14
175
+ def test_methods(suite_class); end
176
+ end
177
+
178
+ # source://m-1.6.0/lib/m/runners/test_unit.rb:3
179
+ class M::Runners::TestUnit < ::M::Runners::Base
180
+ # source://m-1.6.0/lib/m/runners/test_unit.rb:12
181
+ def run(test_arguments); end
182
+
183
+ # source://m-1.6.0/lib/m/runners/test_unit.rb:4
184
+ def suites; end
185
+
186
+ # source://m-1.6.0/lib/m/runners/test_unit.rb:16
187
+ def test_methods(suite_class); end
188
+ end
189
+
190
+ # source://m-1.6.0/lib/m/runners/unsupported_framework.rb:3
191
+ class M::Runners::UnsupportedFramework < ::M::Runners::Base
192
+ # source://m-1.6.0/lib/m/runners/unsupported_framework.rb:9
193
+ def run(_test_arguments); end
194
+
195
+ # source://m-1.6.0/lib/m/runners/unsupported_framework.rb:4
196
+ def suites; end
197
+
198
+ private
199
+
200
+ # source://m-1.6.0/lib/m/runners/unsupported_framework.rb:15
201
+ def not_supported; end
202
+ end
203
+
204
+ # source://m-1.6.0/lib/m/testable.rb:2
205
+ class M::Testable
206
+ # @return [Testable] a new instance of Testable
207
+ #
208
+ # source://m-1.6.0/lib/m/testable.rb:6
209
+ def initialize(file = T.unsafe(nil), lines = T.unsafe(nil), recursive = T.unsafe(nil)); end
210
+
211
+ # Returns the value of attribute file.
212
+ #
213
+ # source://m-1.6.0/lib/m/testable.rb:3
214
+ def file; end
215
+
216
+ # Sets the attribute file
217
+ #
218
+ # @param value the value to set the attribute file to.
219
+ #
220
+ # source://m-1.6.0/lib/m/testable.rb:3
221
+ def file=(_arg0); end
222
+
223
+ # Returns the value of attribute lines.
224
+ #
225
+ # source://m-1.6.0/lib/m/testable.rb:4
226
+ def lines; end
227
+
228
+ # source://m-1.6.0/lib/m/testable.rb:13
229
+ def lines=(lines); end
230
+
231
+ # Returns the value of attribute passthrough_options.
232
+ #
233
+ # source://m-1.6.0/lib/m/testable.rb:3
234
+ def passthrough_options; end
235
+
236
+ # Sets the attribute passthrough_options
237
+ #
238
+ # @param value the value to set the attribute passthrough_options to.
239
+ #
240
+ # source://m-1.6.0/lib/m/testable.rb:3
241
+ def passthrough_options=(_arg0); end
242
+
243
+ # Returns the value of attribute recursive.
244
+ #
245
+ # source://m-1.6.0/lib/m/testable.rb:3
246
+ def recursive; end
247
+
248
+ # Sets the attribute recursive
249
+ #
250
+ # @param value the value to set the attribute recursive to.
251
+ #
252
+ # source://m-1.6.0/lib/m/testable.rb:3
253
+ def recursive=(_arg0); end
254
+ end
255
+
256
+ # source://m-1.6.0/lib/m/version.rb:2
257
+ M::VERSION = T.let(T.unsafe(nil), String)
@@ -0,0 +1,220 @@
1
+ # typed: true
2
+
3
+ # DO NOT EDIT MANUALLY
4
+ # This is an autogenerated file for types exported from the `marcel` gem.
5
+ # Please instead update this file by running `bin/tapioca gem marcel`.
6
+
7
+ # This file is auto-generated. Instead of editing this file, please
8
+ # add MIMEs to data/custom.xml or lib/marcel/mime_type/definitions.rb.
9
+ #
10
+ # source://marcel-1.0.2/lib/marcel.rb:1
11
+ module Marcel; end
12
+
13
+ # @private
14
+ #
15
+ # source://marcel-1.0.2/lib/marcel/tables.rb:10
16
+ Marcel::EXTENSIONS = T.let(T.unsafe(nil), Hash)
17
+
18
+ # @private
19
+ #
20
+ # source://marcel-1.0.2/lib/marcel/tables.rb:2154
21
+ Marcel::MAGIC = T.let(T.unsafe(nil), Array)
22
+
23
+ # Mime type detection
24
+ #
25
+ # source://marcel-1.0.2/lib/marcel/magic.rb:12
26
+ class Marcel::Magic
27
+ # Mime type by type string
28
+ #
29
+ # @return [Magic] a new instance of Magic
30
+ #
31
+ # source://marcel-1.0.2/lib/marcel/magic.rb:16
32
+ def initialize(type); end
33
+
34
+ # Allow comparison with string
35
+ #
36
+ # @return [Boolean]
37
+ #
38
+ # source://marcel-1.0.2/lib/marcel/magic.rb:102
39
+ def ==(other); end
40
+
41
+ # @return [Boolean]
42
+ #
43
+ # source://marcel-1.0.2/lib/marcel/magic.rb:53
44
+ def audio?; end
45
+
46
+ # Returns true if type is child of parent type
47
+ #
48
+ # @return [Boolean]
49
+ #
50
+ # source://marcel-1.0.2/lib/marcel/magic.rb:57
51
+ def child_of?(parent); end
52
+
53
+ # Get mime comment
54
+ #
55
+ # source://marcel-1.0.2/lib/marcel/magic.rb:67
56
+ def comment; end
57
+
58
+ # Allow comparison with string
59
+ #
60
+ # @return [Boolean]
61
+ #
62
+ # source://marcel-1.0.2/lib/marcel/magic.rb:102
63
+ def eql?(other); end
64
+
65
+ # Get string list of file extensions
66
+ #
67
+ # source://marcel-1.0.2/lib/marcel/magic.rb:62
68
+ def extensions; end
69
+
70
+ # source://marcel-1.0.2/lib/marcel/magic.rb:106
71
+ def hash; end
72
+
73
+ # Mediatype shortcuts
74
+ #
75
+ # @return [Boolean]
76
+ #
77
+ # source://marcel-1.0.2/lib/marcel/magic.rb:52
78
+ def image?; end
79
+
80
+ # Returns the value of attribute mediatype.
81
+ #
82
+ # source://marcel-1.0.2/lib/marcel/magic.rb:13
83
+ def mediatype; end
84
+
85
+ # Returns the value of attribute subtype.
86
+ #
87
+ # source://marcel-1.0.2/lib/marcel/magic.rb:13
88
+ def subtype; end
89
+
90
+ # Returns true if type is a text format
91
+ #
92
+ # @return [Boolean]
93
+ #
94
+ # source://marcel-1.0.2/lib/marcel/magic.rb:49
95
+ def text?; end
96
+
97
+ # Return type as string
98
+ #
99
+ # source://marcel-1.0.2/lib/marcel/magic.rb:97
100
+ def to_s; end
101
+
102
+ # Returns the value of attribute type.
103
+ #
104
+ # source://marcel-1.0.2/lib/marcel/magic.rb:13
105
+ def type; end
106
+
107
+ # @return [Boolean]
108
+ #
109
+ # source://marcel-1.0.2/lib/marcel/magic.rb:54
110
+ def video?; end
111
+
112
+ class << self
113
+ # Add custom mime type. Arguments:
114
+ # * <i>type</i>: Mime type
115
+ # * <i>options</i>: Options hash
116
+ #
117
+ # Option keys:
118
+ # * <i>:extensions</i>: String list or single string of file extensions
119
+ # * <i>:parents</i>: String list or single string of parent mime types
120
+ # * <i>:magic</i>: Mime magic specification
121
+ # * <i>:comment</i>: Comment string
122
+ #
123
+ # source://marcel-1.0.2/lib/marcel/magic.rb:30
124
+ def add(type, options); end
125
+
126
+ # Lookup all mime types by magic content analysis.
127
+ # This is a slower operation.
128
+ #
129
+ # source://marcel-1.0.2/lib/marcel/magic.rb:92
130
+ def all_by_magic(io); end
131
+
132
+ # Lookup mime type by file extension
133
+ #
134
+ # source://marcel-1.0.2/lib/marcel/magic.rb:72
135
+ def by_extension(ext); end
136
+
137
+ # Lookup mime type by magic content analysis.
138
+ # This is a slow operation.
139
+ #
140
+ # source://marcel-1.0.2/lib/marcel/magic.rb:85
141
+ def by_magic(io); end
142
+
143
+ # Lookup mime type by filename
144
+ #
145
+ # source://marcel-1.0.2/lib/marcel/magic.rb:79
146
+ def by_path(path); end
147
+
148
+ # @return [Boolean]
149
+ #
150
+ # source://marcel-1.0.2/lib/marcel/magic.rb:112
151
+ def child?(child, parent); end
152
+
153
+ # Removes a mime type from the dictionary. You might want to do this if
154
+ # you're seeing impossible conflicts (for instance, application/x-gmc-link).
155
+ # * <i>type</i>: The mime type to remove. All associated extensions and magic are removed too.
156
+ #
157
+ # source://marcel-1.0.2/lib/marcel/magic.rb:42
158
+ def remove(type); end
159
+
160
+ private
161
+
162
+ # source://marcel-1.0.2/lib/marcel/magic.rb:116
163
+ def magic_match(io, method); end
164
+
165
+ # source://marcel-1.0.2/lib/marcel/magic.rb:126
166
+ def magic_match_io(io, matches, buffer); end
167
+ end
168
+ end
169
+
170
+ # source://marcel-1.0.2/lib/marcel/mime_type.rb:2
171
+ class Marcel::MimeType
172
+ class << self
173
+ # source://marcel-1.0.2/lib/marcel/mime_type.rb:6
174
+ def extend(type, extensions: T.unsafe(nil), parents: T.unsafe(nil), magic: T.unsafe(nil)); end
175
+
176
+ # source://marcel-1.0.2/lib/marcel/mime_type.rb:16
177
+ def for(pathname_or_io = T.unsafe(nil), name: T.unsafe(nil), extension: T.unsafe(nil), declared_type: T.unsafe(nil)); end
178
+
179
+ private
180
+
181
+ # source://marcel-1.0.2/lib/marcel/mime_type.rb:28
182
+ def for_data(pathname_or_io); end
183
+
184
+ # source://marcel-1.0.2/lib/marcel/mime_type.rb:54
185
+ def for_declared_type(declared_type); end
186
+
187
+ # source://marcel-1.0.2/lib/marcel/mime_type.rb:46
188
+ def for_extension(extension); end
189
+
190
+ # source://marcel-1.0.2/lib/marcel/mime_type.rb:38
191
+ def for_name(name); end
192
+
193
+ # For some document types (notably Microsoft Office) we recognise the main content
194
+ # type with magic, but not the specific subclass. In this situation, if we can get a more
195
+ # specific class using either the name or declared_type, we should use that in preference
196
+ #
197
+ # source://marcel-1.0.2/lib/marcel/mime_type.rb:80
198
+ def most_specific_type(from_magic_type, fallback_type); end
199
+
200
+ # source://marcel-1.0.2/lib/marcel/mime_type.rb:70
201
+ def parse_media_type(content_type); end
202
+
203
+ # source://marcel-1.0.2/lib/marcel/mime_type.rb:88
204
+ def root_types(type); end
205
+
206
+ # source://marcel-1.0.2/lib/marcel/mime_type.rb:62
207
+ def with_io(pathname_or_io, &block); end
208
+ end
209
+ end
210
+
211
+ # source://marcel-1.0.2/lib/marcel/mime_type.rb:3
212
+ Marcel::MimeType::BINARY = T.let(T.unsafe(nil), String)
213
+
214
+ # @private
215
+ #
216
+ # source://marcel-1.0.2/lib/marcel/tables.rb:1261
217
+ Marcel::TYPES = T.let(T.unsafe(nil), Hash)
218
+
219
+ # source://marcel-1.0.2/lib/marcel/version.rb:2
220
+ Marcel::VERSION = T.let(T.unsafe(nil), String)
@@ -0,0 +1,170 @@
1
+ # typed: true
2
+
3
+ # DO NOT EDIT MANUALLY
4
+ # This is an autogenerated file for types exported from the `mini_mime` gem.
5
+ # Please instead update this file by running `bin/tapioca gem mini_mime`.
6
+
7
+ # source://mini_mime-1.1.2/lib/mini_mime/version.rb:2
8
+ module MiniMime
9
+ class << self
10
+ # source://mini_mime-1.1.2/lib/mini_mime.rb:14
11
+ def lookup_by_content_type(mime); end
12
+
13
+ # source://mini_mime-1.1.2/lib/mini_mime.rb:10
14
+ def lookup_by_extension(extension); end
15
+
16
+ # source://mini_mime-1.1.2/lib/mini_mime.rb:6
17
+ def lookup_by_filename(filename); end
18
+ end
19
+ end
20
+
21
+ # source://mini_mime-1.1.2/lib/mini_mime.rb:18
22
+ module MiniMime::Configuration
23
+ class << self
24
+ # Returns the value of attribute content_type_db_path.
25
+ #
26
+ # source://mini_mime-1.1.2/lib/mini_mime.rb:21
27
+ def content_type_db_path; end
28
+
29
+ # Sets the attribute content_type_db_path
30
+ #
31
+ # @param value the value to set the attribute content_type_db_path to.
32
+ #
33
+ # source://mini_mime-1.1.2/lib/mini_mime.rb:21
34
+ def content_type_db_path=(_arg0); end
35
+
36
+ # Returns the value of attribute ext_db_path.
37
+ #
38
+ # source://mini_mime-1.1.2/lib/mini_mime.rb:20
39
+ def ext_db_path; end
40
+
41
+ # Sets the attribute ext_db_path
42
+ #
43
+ # @param value the value to set the attribute ext_db_path to.
44
+ #
45
+ # source://mini_mime-1.1.2/lib/mini_mime.rb:20
46
+ def ext_db_path=(_arg0); end
47
+ end
48
+ end
49
+
50
+ # source://mini_mime-1.1.2/lib/mini_mime.rb:52
51
+ class MiniMime::Db
52
+ # @return [Db] a new instance of Db
53
+ #
54
+ # source://mini_mime-1.1.2/lib/mini_mime.rb:154
55
+ def initialize; end
56
+
57
+ # source://mini_mime-1.1.2/lib/mini_mime.rb:163
58
+ def lookup_by_content_type(content_type); end
59
+
60
+ # source://mini_mime-1.1.2/lib/mini_mime.rb:159
61
+ def lookup_by_extension(extension); end
62
+
63
+ class << self
64
+ # source://mini_mime-1.1.2/lib/mini_mime.rb:70
65
+ def lookup_by_content_type(content_type); end
66
+
67
+ # source://mini_mime-1.1.2/lib/mini_mime.rb:62
68
+ def lookup_by_extension(extension); end
69
+
70
+ # source://mini_mime-1.1.2/lib/mini_mime.rb:55
71
+ def lookup_by_filename(filename); end
72
+ end
73
+ end
74
+
75
+ # source://mini_mime-1.1.2/lib/mini_mime.rb:77
76
+ class MiniMime::Db::Cache
77
+ # @return [Cache] a new instance of Cache
78
+ #
79
+ # source://mini_mime-1.1.2/lib/mini_mime.rb:78
80
+ def initialize(size); end
81
+
82
+ # source://mini_mime-1.1.2/lib/mini_mime.rb:83
83
+ def []=(key, val); end
84
+
85
+ # source://mini_mime-1.1.2/lib/mini_mime.rb:89
86
+ def fetch(key, &blk); end
87
+ end
88
+
89
+ # source://mini_mime-1.1.2/lib/mini_mime.rb:53
90
+ MiniMime::Db::LOCK = T.let(T.unsafe(nil), Thread::Mutex)
91
+
92
+ # source://mini_mime-1.1.2/lib/mini_mime.rb:94
93
+ class MiniMime::Db::RandomAccessDb
94
+ # @return [RandomAccessDb] a new instance of RandomAccessDb
95
+ #
96
+ # source://mini_mime-1.1.2/lib/mini_mime.rb:97
97
+ def initialize(path, sort_order); end
98
+
99
+ # source://mini_mime-1.1.2/lib/mini_mime.rb:111
100
+ def lookup(val); end
101
+
102
+ # lifted from marcandre/backports
103
+ #
104
+ # source://mini_mime-1.1.2/lib/mini_mime.rb:127
105
+ def lookup_uncached(val); end
106
+
107
+ # source://mini_mime-1.1.2/lib/mini_mime.rb:148
108
+ def resolve(row); end
109
+ end
110
+
111
+ # source://mini_mime-1.1.2/lib/mini_mime.rb:95
112
+ MiniMime::Db::RandomAccessDb::MAX_CACHED = T.let(T.unsafe(nil), Integer)
113
+
114
+ # source://mini_mime-1.1.2/lib/mini_mime.rb:28
115
+ class MiniMime::Info
116
+ # @return [Info] a new instance of Info
117
+ #
118
+ # source://mini_mime-1.1.2/lib/mini_mime.rb:33
119
+ def initialize(buffer); end
120
+
121
+ # source://mini_mime-1.1.2/lib/mini_mime.rb:37
122
+ def [](idx); end
123
+
124
+ # @return [Boolean]
125
+ #
126
+ # source://mini_mime-1.1.2/lib/mini_mime.rb:47
127
+ def binary?; end
128
+
129
+ # Returns the value of attribute content_type.
130
+ #
131
+ # source://mini_mime-1.1.2/lib/mini_mime.rb:31
132
+ def content_type; end
133
+
134
+ # Sets the attribute content_type
135
+ #
136
+ # @param value the value to set the attribute content_type to.
137
+ #
138
+ # source://mini_mime-1.1.2/lib/mini_mime.rb:31
139
+ def content_type=(_arg0); end
140
+
141
+ # Returns the value of attribute encoding.
142
+ #
143
+ # source://mini_mime-1.1.2/lib/mini_mime.rb:31
144
+ def encoding; end
145
+
146
+ # Sets the attribute encoding
147
+ #
148
+ # @param value the value to set the attribute encoding to.
149
+ #
150
+ # source://mini_mime-1.1.2/lib/mini_mime.rb:31
151
+ def encoding=(_arg0); end
152
+
153
+ # Returns the value of attribute extension.
154
+ #
155
+ # source://mini_mime-1.1.2/lib/mini_mime.rb:31
156
+ def extension; end
157
+
158
+ # Sets the attribute extension
159
+ #
160
+ # @param value the value to set the attribute extension to.
161
+ #
162
+ # source://mini_mime-1.1.2/lib/mini_mime.rb:31
163
+ def extension=(_arg0); end
164
+ end
165
+
166
+ # source://mini_mime-1.1.2/lib/mini_mime.rb:29
167
+ MiniMime::Info::BINARY_ENCODINGS = T.let(T.unsafe(nil), Array)
168
+
169
+ # source://mini_mime-1.1.2/lib/mini_mime/version.rb:3
170
+ MiniMime::VERSION = T.let(T.unsafe(nil), String)
@@ -0,0 +1,8 @@
1
+ # typed: true
2
+
3
+ # DO NOT EDIT MANUALLY
4
+ # This is an autogenerated file for types exported from the `mini_portile2` gem.
5
+ # Please instead update this file by running `bin/tapioca gem mini_portile2`.
6
+
7
+ # THIS IS AN EMPTY RBI FILE.
8
+ # see https://github.com/Shopify/tapioca/wiki/Manual-Gem-Requires