packwerk 2.1.1 → 2.2.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (189) 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 +204 -177
  7. data/README.md +7 -2
  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 +12 -18
  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 +14 -8
  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 +34 -19
  26. data/lib/packwerk/file_processor.rb +25 -23
  27. data/lib/packwerk/files_for_processing.rb +33 -35
  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 +6 -3
  36. data/lib/packwerk/offenses_formatter.rb +2 -2
  37. data/lib/packwerk/package.rb +3 -0
  38. data/lib/packwerk/package_set.rb +3 -1
  39. data/lib/packwerk/parse_run.rb +15 -13
  40. data/lib/packwerk/parsed_constant_definitions.rb +23 -20
  41. data/lib/packwerk/parsers/erb.rb +3 -3
  42. data/lib/packwerk/parsers/parser_interface.rb +2 -0
  43. data/lib/packwerk/reference_checking/checkers/checker.rb +16 -3
  44. data/lib/packwerk/reference_checking/checkers/dependency_checker.rb +16 -0
  45. data/lib/packwerk/reference_checking/checkers/privacy_checker.rb +18 -0
  46. data/lib/packwerk/reference_checking/reference_checker.rb +4 -4
  47. data/lib/packwerk/reference_extractor.rb +51 -54
  48. data/lib/packwerk/reference_offense.rb +3 -27
  49. data/lib/packwerk/run_context.rb +9 -7
  50. data/lib/packwerk/spring_command.rb +1 -1
  51. data/lib/packwerk/version.rb +1 -1
  52. data/lib/packwerk.rb +1 -0
  53. data/packwerk.gemspec +4 -11
  54. data/sorbet/rbi/gems/actioncable@7.0.3.1.rbi +2754 -0
  55. data/sorbet/rbi/gems/actionmailbox@7.0.3.1.rbi +1496 -0
  56. data/sorbet/rbi/gems/actionmailer@7.0.3.1.rbi +2362 -0
  57. data/sorbet/rbi/gems/actionpack@7.0.3.1.rbi +19397 -0
  58. data/sorbet/rbi/gems/actiontext@7.0.3.1.rbi +1569 -0
  59. data/sorbet/rbi/gems/actionview@7.0.3.1.rbi +14907 -0
  60. data/sorbet/rbi/gems/activejob@7.0.3.1.rbi +2553 -0
  61. data/sorbet/rbi/gems/activemodel@7.0.3.1.rbi +5999 -0
  62. data/sorbet/rbi/gems/activerecord@7.0.3.1.rbi +37832 -0
  63. data/sorbet/rbi/gems/activestorage@7.0.3.1.rbi +2321 -0
  64. data/sorbet/rbi/gems/activesupport@7.0.3.1.rbi +18818 -0
  65. data/sorbet/rbi/gems/concurrent-ruby@1.1.10.rbi +11722 -0
  66. data/sorbet/rbi/gems/constant_resolver@0.2.0.rbi +90 -0
  67. data/sorbet/rbi/gems/diff-lcs@1.5.0.rbi +1079 -0
  68. data/sorbet/rbi/gems/digest@3.1.0.rbi +189 -0
  69. data/sorbet/rbi/gems/erubi@1.11.0.rbi +140 -0
  70. data/sorbet/rbi/gems/globalid@1.0.0.rbi +572 -0
  71. data/sorbet/rbi/gems/i18n@1.12.0.rbi +2296 -0
  72. data/sorbet/rbi/gems/json@2.6.2.rbi +1548 -0
  73. data/sorbet/rbi/gems/language_server-protocol@3.16.0.3.rbi +8 -0
  74. data/sorbet/rbi/gems/loofah@2.18.0.rbi +877 -0
  75. data/sorbet/rbi/gems/m@1.6.0.rbi +257 -0
  76. data/sorbet/rbi/gems/marcel@1.0.2.rbi +220 -0
  77. data/sorbet/rbi/gems/mini_mime@1.1.2.rbi +170 -0
  78. data/sorbet/rbi/gems/mini_portile2@2.8.0.rbi +8 -0
  79. data/sorbet/rbi/gems/minitest-focus@1.3.1.rbi +104 -0
  80. data/sorbet/rbi/gems/minitest@5.16.2.rbi +2136 -0
  81. data/sorbet/rbi/gems/mocha@1.14.0.rbi +4177 -0
  82. data/sorbet/rbi/gems/net-imap@0.2.3.rbi +2147 -0
  83. data/sorbet/rbi/gems/net-pop@0.1.1.rbi +926 -0
  84. data/sorbet/rbi/gems/net-protocol@0.1.3.rbi +11 -0
  85. data/sorbet/rbi/gems/net-smtp@0.3.1.rbi +1108 -0
  86. data/sorbet/rbi/gems/netrc@0.11.0.rbi +153 -0
  87. data/sorbet/rbi/gems/nio4r@2.5.8.rbi +292 -0
  88. data/sorbet/rbi/gems/nokogiri@1.13.8.rbi +6478 -0
  89. data/sorbet/rbi/gems/parallel@1.22.1.rbi +277 -0
  90. data/sorbet/rbi/gems/parser@3.1.2.1.rbi +9029 -0
  91. data/sorbet/rbi/gems/prettier_print@0.1.0.rbi +8 -0
  92. data/sorbet/rbi/gems/pry@0.14.1.rbi +8 -0
  93. data/sorbet/rbi/gems/racc@1.6.0.rbi +152 -0
  94. data/sorbet/rbi/gems/rack-test@2.0.2.rbi +953 -0
  95. data/sorbet/rbi/gems/rack@2.2.4.rbi +5636 -0
  96. data/sorbet/rbi/gems/rails-html-sanitizer@1.4.3.rbi +688 -0
  97. data/sorbet/rbi/gems/rails@7.0.3.1.rbi +8 -0
  98. data/sorbet/rbi/gems/railties@7.0.3.1.rbi +3507 -0
  99. data/sorbet/rbi/gems/rainbow@3.1.1.rbi +392 -0
  100. data/sorbet/rbi/gems/rake@13.0.6.rbi +2924 -0
  101. data/sorbet/rbi/gems/rbi@0.0.15.rbi +3007 -0
  102. data/sorbet/rbi/gems/regexp_parser@2.5.0.rbi +3383 -0
  103. data/sorbet/rbi/gems/rexml@3.2.5.rbi +4714 -0
  104. data/sorbet/rbi/gems/rubocop-ast@1.21.0.rbi +6961 -0
  105. data/sorbet/rbi/gems/rubocop-performance@1.14.3.rbi +2986 -0
  106. data/sorbet/rbi/gems/{rubocop-shopify@2.0.1.rbi → rubocop-shopify@2.9.0.rbi} +4 -4
  107. data/sorbet/rbi/gems/rubocop-sorbet@0.6.11.rbi +992 -0
  108. data/sorbet/rbi/gems/rubocop@1.34.1.rbi +51820 -0
  109. data/sorbet/rbi/gems/ruby-lsp@0.2.1.rbi +11 -0
  110. data/sorbet/rbi/gems/smart_properties@1.17.0.rbi +474 -0
  111. data/sorbet/rbi/gems/spoom@1.1.11.rbi +2181 -0
  112. data/sorbet/rbi/gems/spring@4.0.0.rbi +411 -0
  113. data/sorbet/rbi/gems/strscan@3.0.4.rbi +8 -0
  114. data/sorbet/rbi/gems/syntax_tree@3.3.0.rbi +8 -0
  115. data/sorbet/rbi/gems/tapioca@0.9.2.rbi +3181 -0
  116. data/sorbet/rbi/gems/thor@1.2.1.rbi +3956 -0
  117. data/sorbet/rbi/gems/timeout@0.3.0.rbi +142 -0
  118. data/sorbet/rbi/gems/tzinfo@2.0.5.rbi +5896 -0
  119. data/sorbet/rbi/gems/unicode-display_width@2.2.0.rbi +48 -0
  120. data/sorbet/rbi/gems/unparser@0.6.5.rbi +4529 -0
  121. data/sorbet/rbi/gems/webrick@1.7.0.rbi +2582 -0
  122. data/sorbet/rbi/gems/websocket-driver@0.7.5.rbi +993 -0
  123. data/sorbet/rbi/gems/yard-sorbet@0.6.1.rbi +388 -0
  124. data/sorbet/rbi/gems/yard@0.9.28.rbi +18242 -0
  125. data/sorbet/rbi/gems/zeitwerk@2.6.0.rbi +867 -0
  126. data/sorbet/rbi/shims/psych.rbi +5 -0
  127. data/sorbet/tapioca/require.rb +2 -3
  128. metadata +88 -143
  129. data/.github/probots.yml +0 -2
  130. data/library.yml +0 -6
  131. data/service.yml +0 -1
  132. data/sorbet/rbi/gems/actioncable@7.0.0.alpha-d612542336d9a61381311c95a27d801bb4094779.rbi +0 -860
  133. data/sorbet/rbi/gems/actionmailbox@7.0.0.alpha-d612542336d9a61381311c95a27d801bb4094779.rbi +0 -568
  134. data/sorbet/rbi/gems/actionmailer@7.0.0.alpha-d612542336d9a61381311c95a27d801bb4094779.rbi +0 -587
  135. data/sorbet/rbi/gems/actionpack@7.0.0.alpha-d612542336d9a61381311c95a27d801bb4094779.rbi +0 -5314
  136. data/sorbet/rbi/gems/actiontext@7.0.0.alpha-d612542336d9a61381311c95a27d801bb4094779.rbi +0 -699
  137. data/sorbet/rbi/gems/actionview@7.0.0.alpha-d612542336d9a61381311c95a27d801bb4094779.rbi +0 -2515
  138. data/sorbet/rbi/gems/activejob@7.0.0.alpha-d612542336d9a61381311c95a27d801bb4094779.rbi +0 -624
  139. data/sorbet/rbi/gems/activemodel@7.0.0.alpha-d612542336d9a61381311c95a27d801bb4094779.rbi +0 -1248
  140. data/sorbet/rbi/gems/activerecord@7.0.0.alpha-d612542336d9a61381311c95a27d801bb4094779.rbi +0 -8363
  141. data/sorbet/rbi/gems/activestorage@7.0.0.alpha-d612542336d9a61381311c95a27d801bb4094779.rbi +0 -876
  142. data/sorbet/rbi/gems/activesupport@7.0.0.alpha-d612542336d9a61381311c95a27d801bb4094779.rbi +0 -3987
  143. data/sorbet/rbi/gems/colorize@0.8.1.rbi +0 -40
  144. data/sorbet/rbi/gems/commander@4.5.2.rbi +0 -8
  145. data/sorbet/rbi/gems/concurrent-ruby@1.1.8.rbi +0 -1969
  146. data/sorbet/rbi/gems/constant_resolver@0.1.5.rbi +0 -26
  147. data/sorbet/rbi/gems/erubi@1.10.0.rbi +0 -41
  148. data/sorbet/rbi/gems/globalid@0.4.2.rbi +0 -178
  149. data/sorbet/rbi/gems/highline@2.0.3.rbi +0 -8
  150. data/sorbet/rbi/gems/i18n@1.8.10.rbi +0 -600
  151. data/sorbet/rbi/gems/loofah@2.9.0.rbi +0 -274
  152. data/sorbet/rbi/gems/m@1.5.1.rbi +0 -108
  153. data/sorbet/rbi/gems/marcel@1.0.0.rbi +0 -70
  154. data/sorbet/rbi/gems/mini_mime@1.0.3.rbi +0 -71
  155. data/sorbet/rbi/gems/minitest-focus@1.2.1.rbi +0 -8
  156. data/sorbet/rbi/gems/minitest@5.14.4.rbi +0 -544
  157. data/sorbet/rbi/gems/mocha@1.12.0.rbi +0 -953
  158. data/sorbet/rbi/gems/nio4r@2.5.7.rbi +0 -90
  159. data/sorbet/rbi/gems/nokogiri@1.11.2.rbi +0 -1647
  160. data/sorbet/rbi/gems/parallel@1.20.1.rbi +0 -117
  161. data/sorbet/rbi/gems/parlour@6.0.0.rbi +0 -1272
  162. data/sorbet/rbi/gems/parser@3.0.0.0.rbi +0 -1745
  163. data/sorbet/rbi/gems/pry@0.14.0.rbi +0 -8
  164. data/sorbet/rbi/gems/psych@3.3.2.rbi +0 -24
  165. data/sorbet/rbi/gems/racc@1.5.2.rbi +0 -57
  166. data/sorbet/rbi/gems/rack-test@1.1.0.rbi +0 -335
  167. data/sorbet/rbi/gems/rack@2.2.3.rbi +0 -1718
  168. data/sorbet/rbi/gems/rails-html-sanitizer@1.3.0.rbi +0 -213
  169. data/sorbet/rbi/gems/rails@7.0.0.alpha-d612542336d9a61381311c95a27d801bb4094779.rbi +0 -8
  170. data/sorbet/rbi/gems/railties@7.0.0.alpha-d612542336d9a61381311c95a27d801bb4094779.rbi +0 -880
  171. data/sorbet/rbi/gems/rainbow@3.0.0.rbi +0 -155
  172. data/sorbet/rbi/gems/rake@13.0.3.rbi +0 -837
  173. data/sorbet/rbi/gems/regexp_parser@2.1.1.rbi +0 -8
  174. data/sorbet/rbi/gems/rexml@3.2.4.rbi +0 -8
  175. data/sorbet/rbi/gems/rubocop-ast@1.4.1.rbi +0 -8
  176. data/sorbet/rbi/gems/rubocop-performance@1.10.2.rbi +0 -8
  177. data/sorbet/rbi/gems/rubocop-sorbet@0.6.1.rbi +0 -8
  178. data/sorbet/rbi/gems/rubocop@1.12.0.rbi +0 -8
  179. data/sorbet/rbi/gems/smart_properties@1.15.0.rbi +0 -168
  180. data/sorbet/rbi/gems/spoom@1.1.0.rbi +0 -1061
  181. data/sorbet/rbi/gems/spring@2.1.1.rbi +0 -160
  182. data/sorbet/rbi/gems/sprockets-rails@3.2.2.rbi +0 -451
  183. data/sorbet/rbi/gems/sprockets@4.0.2.rbi +0 -1133
  184. data/sorbet/rbi/gems/tapioca@0.4.19.rbi +0 -603
  185. data/sorbet/rbi/gems/thor@1.1.0.rbi +0 -893
  186. data/sorbet/rbi/gems/tzinfo@2.0.4.rbi +0 -566
  187. data/sorbet/rbi/gems/unicode-display_width@2.0.0.rbi +0 -8
  188. data/sorbet/rbi/gems/websocket-driver@0.7.3.rbi +0 -438
  189. data/sorbet/rbi/gems/zeitwerk@2.4.2.rbi +0 -177
@@ -1,274 +0,0 @@
1
- # DO NOT EDIT MANUALLY
2
- # This is an autogenerated file for types exported from the `loofah` gem.
3
- # Please instead update this file by running `bin/tapioca sync`.
4
-
5
- # typed: true
6
-
7
- module Loofah
8
- class << self
9
- def document(*args, &block); end
10
- def fragment(*args, &block); end
11
- def remove_extraneous_whitespace(string); end
12
- def scrub_document(string_or_io, method); end
13
- def scrub_fragment(string_or_io, method); end
14
- def scrub_xml_document(string_or_io, method); end
15
- def scrub_xml_fragment(string_or_io, method); end
16
- def xml_document(*args, &block); end
17
- def xml_fragment(*args, &block); end
18
-
19
- private
20
-
21
- def remove_comments_before_html_element(doc); end
22
- end
23
- end
24
-
25
- module Loofah::DocumentDecorator
26
- def initialize(*args, &block); end
27
- end
28
-
29
- module Loofah::Elements
30
- end
31
-
32
- Loofah::Elements::BLOCK_LEVEL = T.let(T.unsafe(nil), Set)
33
-
34
- Loofah::Elements::LOOSE_BLOCK_LEVEL = T.let(T.unsafe(nil), Set)
35
-
36
- Loofah::Elements::STRICT_BLOCK_LEVEL = T.let(T.unsafe(nil), Set)
37
-
38
- Loofah::Elements::STRICT_BLOCK_LEVEL_HTML4 = T.let(T.unsafe(nil), Set)
39
-
40
- Loofah::Elements::STRICT_BLOCK_LEVEL_HTML5 = T.let(T.unsafe(nil), Set)
41
-
42
- module Loofah::HTML
43
- end
44
-
45
- class Loofah::HTML::Document < ::Nokogiri::HTML::Document
46
- include(::Loofah::ScrubBehavior::Node)
47
- include(::Loofah::DocumentDecorator)
48
- include(::Loofah::TextBehavior)
49
-
50
- def serialize_root; end
51
- end
52
-
53
- class Loofah::HTML::DocumentFragment < ::Nokogiri::HTML::DocumentFragment
54
- include(::Loofah::TextBehavior)
55
-
56
- def serialize; end
57
- def serialize_root; end
58
- def to_s; end
59
-
60
- class << self
61
- def parse(tags, encoding = T.unsafe(nil)); end
62
- end
63
- end
64
-
65
- module Loofah::HTML5
66
- end
67
-
68
- module Loofah::HTML5::SafeList
69
- end
70
-
71
- Loofah::HTML5::SafeList::ACCEPTABLE_ATTRIBUTES = T.let(T.unsafe(nil), Set)
72
-
73
- Loofah::HTML5::SafeList::ACCEPTABLE_CSS_FUNCTIONS = T.let(T.unsafe(nil), Set)
74
-
75
- Loofah::HTML5::SafeList::ACCEPTABLE_CSS_KEYWORDS = T.let(T.unsafe(nil), Set)
76
-
77
- Loofah::HTML5::SafeList::ACCEPTABLE_CSS_PROPERTIES = T.let(T.unsafe(nil), Set)
78
-
79
- Loofah::HTML5::SafeList::ACCEPTABLE_ELEMENTS = T.let(T.unsafe(nil), Set)
80
-
81
- Loofah::HTML5::SafeList::ACCEPTABLE_PROTOCOLS = T.let(T.unsafe(nil), Set)
82
-
83
- Loofah::HTML5::SafeList::ACCEPTABLE_SVG_PROPERTIES = T.let(T.unsafe(nil), Set)
84
-
85
- Loofah::HTML5::SafeList::ACCEPTABLE_URI_DATA_MEDIATYPES = T.let(T.unsafe(nil), Set)
86
-
87
- Loofah::HTML5::SafeList::ALLOWED_ATTRIBUTES = T.let(T.unsafe(nil), Set)
88
-
89
- Loofah::HTML5::SafeList::ALLOWED_CSS_FUNCTIONS = T.let(T.unsafe(nil), Set)
90
-
91
- Loofah::HTML5::SafeList::ALLOWED_CSS_KEYWORDS = T.let(T.unsafe(nil), Set)
92
-
93
- Loofah::HTML5::SafeList::ALLOWED_CSS_PROPERTIES = T.let(T.unsafe(nil), Set)
94
-
95
- Loofah::HTML5::SafeList::ALLOWED_ELEMENTS = T.let(T.unsafe(nil), Set)
96
-
97
- Loofah::HTML5::SafeList::ALLOWED_ELEMENTS_WITH_LIBXML2 = T.let(T.unsafe(nil), Set)
98
-
99
- Loofah::HTML5::SafeList::ALLOWED_PROTOCOLS = T.let(T.unsafe(nil), Set)
100
-
101
- Loofah::HTML5::SafeList::ALLOWED_SVG_PROPERTIES = T.let(T.unsafe(nil), Set)
102
-
103
- Loofah::HTML5::SafeList::ALLOWED_URI_DATA_MEDIATYPES = T.let(T.unsafe(nil), Set)
104
-
105
- Loofah::HTML5::SafeList::ATTR_VAL_IS_URI = T.let(T.unsafe(nil), Set)
106
-
107
- Loofah::HTML5::SafeList::MATHML_ATTRIBUTES = T.let(T.unsafe(nil), Set)
108
-
109
- Loofah::HTML5::SafeList::MATHML_ELEMENTS = T.let(T.unsafe(nil), Set)
110
-
111
- Loofah::HTML5::SafeList::PROTOCOL_SEPARATOR = T.let(T.unsafe(nil), Regexp)
112
-
113
- Loofah::HTML5::SafeList::SHORTHAND_CSS_PROPERTIES = T.let(T.unsafe(nil), Set)
114
-
115
- Loofah::HTML5::SafeList::SVG_ALLOW_LOCAL_HREF = T.let(T.unsafe(nil), Set)
116
-
117
- Loofah::HTML5::SafeList::SVG_ATTRIBUTES = T.let(T.unsafe(nil), Set)
118
-
119
- Loofah::HTML5::SafeList::SVG_ATTR_VAL_ALLOWS_REF = T.let(T.unsafe(nil), Set)
120
-
121
- Loofah::HTML5::SafeList::SVG_ELEMENTS = T.let(T.unsafe(nil), Set)
122
-
123
- Loofah::HTML5::SafeList::TAGS_SAFE_WITH_LIBXML2 = T.let(T.unsafe(nil), Set)
124
-
125
- Loofah::HTML5::SafeList::VOID_ELEMENTS = T.let(T.unsafe(nil), Set)
126
-
127
- module Loofah::HTML5::Scrub
128
- class << self
129
- def allowed_element?(element_name); end
130
- def force_correct_attribute_escaping!(node); end
131
- def scrub_attributes(node); end
132
- def scrub_css(style); end
133
- def scrub_css_attribute(node); end
134
- end
135
- end
136
-
137
- Loofah::HTML5::Scrub::CONTROL_CHARACTERS = T.let(T.unsafe(nil), Regexp)
138
-
139
- Loofah::HTML5::Scrub::CRASS_SEMICOLON = T.let(T.unsafe(nil), Hash)
140
-
141
- Loofah::HTML5::Scrub::CSS_IMPORTANT = T.let(T.unsafe(nil), String)
142
-
143
- Loofah::HTML5::Scrub::CSS_KEYWORDISH = T.let(T.unsafe(nil), Regexp)
144
-
145
- Loofah::HTML5::WhiteList = Loofah::HTML5::SafeList
146
-
147
- module Loofah::LibxmlWorkarounds
148
- end
149
-
150
- Loofah::LibxmlWorkarounds::BROKEN_ESCAPING_ATTRIBUTES = T.let(T.unsafe(nil), Set)
151
-
152
- Loofah::LibxmlWorkarounds::BROKEN_ESCAPING_ATTRIBUTES_QUALIFYING_TAG = T.let(T.unsafe(nil), Hash)
153
-
154
- module Loofah::MetaHelpers
155
- class << self
156
- def add_downcased_set_members_to_all_set_constants(mojule); end
157
- end
158
- end
159
-
160
- module Loofah::ScrubBehavior
161
- class << self
162
- def resolve_scrubber(scrubber); end
163
- end
164
- end
165
-
166
- module Loofah::ScrubBehavior::Node
167
- def scrub!(scrubber); end
168
- end
169
-
170
- module Loofah::ScrubBehavior::NodeSet
171
- def scrub!(scrubber); end
172
- end
173
-
174
- class Loofah::Scrubber
175
- def initialize(options = T.unsafe(nil), &block); end
176
-
177
- def append_attribute(node, attribute, value); end
178
- def block; end
179
- def direction; end
180
- def scrub(node); end
181
- def traverse(node); end
182
-
183
- private
184
-
185
- def html5lib_sanitize(node); end
186
- def traverse_conditionally_bottom_up(node); end
187
- def traverse_conditionally_top_down(node); end
188
- end
189
-
190
- Loofah::Scrubber::CONTINUE = T.let(T.unsafe(nil), Object)
191
-
192
- Loofah::Scrubber::STOP = T.let(T.unsafe(nil), Object)
193
-
194
- class Loofah::ScrubberNotFound < ::RuntimeError
195
- end
196
-
197
- module Loofah::Scrubbers
198
- class << self
199
- def scrubber_symbols; end
200
- end
201
- end
202
-
203
- class Loofah::Scrubbers::Escape < ::Loofah::Scrubber
204
- def initialize; end
205
-
206
- def scrub(node); end
207
- end
208
-
209
- Loofah::Scrubbers::MAP = T.let(T.unsafe(nil), Hash)
210
-
211
- class Loofah::Scrubbers::NewlineBlockElements < ::Loofah::Scrubber
212
- def initialize; end
213
-
214
- def scrub(node); end
215
- end
216
-
217
- class Loofah::Scrubbers::NoFollow < ::Loofah::Scrubber
218
- def initialize; end
219
-
220
- def scrub(node); end
221
- end
222
-
223
- class Loofah::Scrubbers::NoOpener < ::Loofah::Scrubber
224
- def initialize; end
225
-
226
- def scrub(node); end
227
- end
228
-
229
- class Loofah::Scrubbers::Prune < ::Loofah::Scrubber
230
- def initialize; end
231
-
232
- def scrub(node); end
233
- end
234
-
235
- class Loofah::Scrubbers::Strip < ::Loofah::Scrubber
236
- def initialize; end
237
-
238
- def scrub(node); end
239
- end
240
-
241
- class Loofah::Scrubbers::Unprintable < ::Loofah::Scrubber
242
- def initialize; end
243
-
244
- def scrub(node); end
245
- end
246
-
247
- class Loofah::Scrubbers::Whitewash < ::Loofah::Scrubber
248
- def initialize; end
249
-
250
- def scrub(node); end
251
- end
252
-
253
- module Loofah::TextBehavior
254
- def inner_text(options = T.unsafe(nil)); end
255
- def text(options = T.unsafe(nil)); end
256
- def to_str(options = T.unsafe(nil)); end
257
- def to_text(options = T.unsafe(nil)); end
258
- end
259
-
260
- Loofah::VERSION = T.let(T.unsafe(nil), String)
261
-
262
- module Loofah::XML
263
- end
264
-
265
- class Loofah::XML::Document < ::Nokogiri::XML::Document
266
- include(::Loofah::ScrubBehavior::Node)
267
- include(::Loofah::DocumentDecorator)
268
- end
269
-
270
- class Loofah::XML::DocumentFragment < ::Nokogiri::XML::DocumentFragment
271
- class << self
272
- def parse(tags); end
273
- end
274
- end
@@ -1,108 +0,0 @@
1
- # DO NOT EDIT MANUALLY
2
- # This is an autogenerated file for types exported from the `m` gem.
3
- # Please instead update this file by running `dev typecheck update`.
4
-
5
- # typed: true
6
-
7
- module M
8
- class << self
9
- def run(argv); end
10
- end
11
- end
12
-
13
- class M::Executor
14
- def initialize(testable); end
15
-
16
- def execute; end
17
-
18
- private
19
-
20
- def runner; end
21
- def suites; end
22
- def testable; end
23
- def tests; end
24
- end
25
-
26
- class M::Frameworks
27
- def framework_runner; end
28
-
29
- private
30
-
31
- def minitest4?; end
32
- def minitest5?; end
33
- def test_unit?; end
34
-
35
- class << self
36
- def framework_runner; end
37
- def minitest4?; end
38
- def minitest5?; end
39
- def test_unit?; end
40
- end
41
- end
42
-
43
- class M::Parser
44
- def initialize(argv); end
45
-
46
- def parse; end
47
-
48
- private
49
-
50
- def argv; end
51
- def parse_options!(argv); end
52
- def testable; end
53
- def wildcard(type); end
54
- end
55
-
56
- class M::Runner
57
- def initialize(argv); end
58
-
59
- def run; end
60
- end
61
-
62
- module M::Runners
63
- end
64
-
65
- class M::Runners::Base
66
- def run(_test_arguments); end
67
- def suites; end
68
- def test_methods(suite_class); end
69
- end
70
-
71
- class M::Runners::Minitest4 < ::M::Runners::Base
72
- def run(test_arguments); end
73
- def suites; end
74
- end
75
-
76
- class M::Runners::Minitest5 < ::M::Runners::Base
77
- def run(test_arguments); end
78
- def suites; end
79
- def test_methods(suite_class); end
80
- end
81
-
82
- class M::Runners::TestUnit < ::M::Runners::Base
83
- def run(test_arguments); end
84
- def suites; end
85
- def test_methods(suite_class); end
86
- end
87
-
88
- class M::Runners::UnsupportedFramework < ::M::Runners::Base
89
- def run(_test_arguments); end
90
- def suites; end
91
-
92
- private
93
-
94
- def not_supported; end
95
- end
96
-
97
- class M::Testable
98
- def initialize(file = T.unsafe(nil), lines = T.unsafe(nil), recursive = T.unsafe(nil)); end
99
-
100
- def file; end
101
- def file=(_); end
102
- def lines; end
103
- def lines=(lines); end
104
- def recursive; end
105
- def recursive=(_); end
106
- end
107
-
108
- M::VERSION = T.let(T.unsafe(nil), String)
@@ -1,70 +0,0 @@
1
- # DO NOT EDIT MANUALLY
2
- # This is an autogenerated file for types exported from the `marcel` gem.
3
- # Please instead update this file by running `bin/tapioca sync`.
4
-
5
- # typed: true
6
-
7
- module Marcel
8
- end
9
-
10
- Marcel::EXTENSIONS = T.let(T.unsafe(nil), Hash)
11
-
12
- Marcel::MAGIC = T.let(T.unsafe(nil), Array)
13
-
14
- class Marcel::Magic
15
- def initialize(type); end
16
-
17
- def ==(other); end
18
- def audio?; end
19
- def child_of?(parent); end
20
- def comment; end
21
- def eql?(other); end
22
- def extensions; end
23
- def hash; end
24
- def image?; end
25
- def mediatype; end
26
- def subtype; end
27
- def text?; end
28
- def to_s; end
29
- def type; end
30
- def video?; end
31
-
32
- class << self
33
- def add(type, options); end
34
- def all_by_magic(io); end
35
- def by_extension(ext); end
36
- def by_magic(io); end
37
- def by_path(path); end
38
- def child?(child, parent); end
39
- def remove(type); end
40
-
41
- private
42
-
43
- def magic_match(io, method); end
44
- def magic_match_io(io, matches, buffer); end
45
- end
46
- end
47
-
48
- class Marcel::MimeType
49
- class << self
50
- def extend(type, extensions: T.unsafe(nil), parents: T.unsafe(nil), magic: T.unsafe(nil)); end
51
- def for(pathname_or_io = T.unsafe(nil), name: T.unsafe(nil), extension: T.unsafe(nil), declared_type: T.unsafe(nil)); end
52
-
53
- private
54
-
55
- def for_data(pathname_or_io); end
56
- def for_declared_type(declared_type); end
57
- def for_extension(extension); end
58
- def for_name(name); end
59
- def most_specific_type(from_magic_type, fallback_type); end
60
- def parse_media_type(content_type); end
61
- def root_types(type); end
62
- def with_io(pathname_or_io, &block); end
63
- end
64
- end
65
-
66
- Marcel::MimeType::BINARY = T.let(T.unsafe(nil), String)
67
-
68
- Marcel::TYPES = T.let(T.unsafe(nil), Hash)
69
-
70
- Marcel::VERSION = T.let(T.unsafe(nil), String)
@@ -1,71 +0,0 @@
1
- # DO NOT EDIT MANUALLY
2
- # This is an autogenerated file for types exported from the `mini_mime` gem.
3
- # Please instead update this file by running `bin/tapioca sync`.
4
-
5
- # typed: true
6
-
7
- module MiniMime
8
- class << self
9
- def lookup_by_content_type(mime); end
10
- def lookup_by_extension(extension); end
11
- def lookup_by_filename(filename); end
12
- end
13
- end
14
-
15
- module MiniMime::Configuration
16
- class << self
17
- def content_type_db_path; end
18
- def content_type_db_path=(_arg0); end
19
- def ext_db_path; end
20
- def ext_db_path=(_arg0); end
21
- end
22
- end
23
-
24
- class MiniMime::Db
25
- def initialize; end
26
-
27
- def lookup_by_content_type(content_type); end
28
- def lookup_by_extension(extension); end
29
-
30
- class << self
31
- def lookup_by_content_type(content_type); end
32
- def lookup_by_extension(extension); end
33
- def lookup_by_filename(filename); end
34
- end
35
- end
36
-
37
- class MiniMime::Db::Cache
38
- def initialize(size); end
39
-
40
- def []=(key, val); end
41
- def fetch(key, &blk); end
42
- end
43
-
44
- MiniMime::Db::LOCK = T.let(T.unsafe(nil), Thread::Mutex)
45
-
46
- class MiniMime::Db::RandomAccessDb
47
- def initialize(path, sort_order); end
48
-
49
- def lookup(val); end
50
- def lookup_uncached(val); end
51
- def resolve(row); end
52
- end
53
-
54
- MiniMime::Db::RandomAccessDb::MAX_CACHED = T.let(T.unsafe(nil), Integer)
55
-
56
- class MiniMime::Info
57
- def initialize(buffer); end
58
-
59
- def [](idx); end
60
- def binary?; end
61
- def content_type; end
62
- def content_type=(_arg0); end
63
- def encoding; end
64
- def encoding=(_arg0); end
65
- def extension; end
66
- def extension=(_arg0); end
67
- end
68
-
69
- MiniMime::Info::BINARY_ENCODINGS = T.let(T.unsafe(nil), Array)
70
-
71
- MiniMime::VERSION = T.let(T.unsafe(nil), String)
@@ -1,8 +0,0 @@
1
- # DO NOT EDIT MANUALLY
2
- # This is an autogenerated file for types exported from the `minitest-focus` 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