packwerk_yard 0.1.0 → 0.2.0

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 (68) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +6 -0
  3. data/README.md +1 -1
  4. data/Rakefile +5 -1
  5. data/lib/packwerk_yard/parser.rb +19 -10
  6. data/lib/packwerk_yard/version.rb +2 -2
  7. data/lib/packwerk_yard.rb +1 -1
  8. data/sorbet/config +4 -0
  9. data/sorbet/rbi/annotations/.gitattributes +1 -0
  10. data/sorbet/rbi/annotations/actionview.rbi +75 -0
  11. data/sorbet/rbi/annotations/activesupport.rbi +264 -0
  12. data/sorbet/rbi/annotations/rainbow.rbi +269 -0
  13. data/sorbet/rbi/gems/.gitattributes +1 -0
  14. data/sorbet/rbi/gems/actionview@7.1.2.rbi +15002 -0
  15. data/sorbet/rbi/gems/activesupport@7.1.2.rbi +18797 -0
  16. data/sorbet/rbi/gems/ast@2.4.2.rbi +584 -0
  17. data/sorbet/rbi/gems/base64@0.2.0.rbi +508 -0
  18. data/sorbet/rbi/gems/better_html@2.0.2.rbi +529 -0
  19. data/sorbet/rbi/gems/bigdecimal@3.1.5.rbi +77 -0
  20. data/sorbet/rbi/gems/builder@3.2.4.rbi +8 -0
  21. data/sorbet/rbi/gems/concurrent-ruby@1.2.2.rbi +11545 -0
  22. data/sorbet/rbi/gems/connection_pool@2.4.1.rbi +8 -0
  23. data/sorbet/rbi/gems/constant_resolver@0.2.0.rbi +90 -0
  24. data/sorbet/rbi/gems/crass@1.0.6.rbi +622 -0
  25. data/sorbet/rbi/gems/drb@2.2.0.rbi +1346 -0
  26. data/sorbet/rbi/gems/erubi@1.12.0.rbi +145 -0
  27. data/sorbet/rbi/gems/i18n@1.14.1.rbi +2325 -0
  28. data/sorbet/rbi/gems/json@2.7.1.rbi +1561 -0
  29. data/sorbet/rbi/gems/language_server-protocol@3.17.0.3.rbi +14237 -0
  30. data/sorbet/rbi/gems/loofah@2.22.0.rbi +1080 -0
  31. data/sorbet/rbi/gems/minitest@5.20.0.rbi +1497 -0
  32. data/sorbet/rbi/gems/mutex_m@0.2.0.rbi +93 -0
  33. data/sorbet/rbi/gems/netrc@0.11.0.rbi +158 -0
  34. data/sorbet/rbi/gems/nokogiri@1.16.0.rbi +7286 -0
  35. data/sorbet/rbi/gems/packwerk@3.1.0-bf972227a1caaeed4d07b0302a7b74f20632fc06.rbi +2370 -0
  36. data/sorbet/rbi/gems/parallel@1.24.0.rbi +280 -0
  37. data/sorbet/rbi/gems/parser@3.2.2.4.rbi +7253 -0
  38. data/sorbet/rbi/gems/prettier_print@1.2.1.rbi +951 -0
  39. data/sorbet/rbi/gems/prism@0.19.0.rbi +29883 -0
  40. data/sorbet/rbi/gems/racc@1.7.3.rbi +161 -0
  41. data/sorbet/rbi/gems/rails-dom-testing@2.2.0.rbi +8 -0
  42. data/sorbet/rbi/gems/rails-html-sanitizer@1.6.0.rbi +716 -0
  43. data/sorbet/rbi/gems/rainbow@3.1.1.rbi +402 -0
  44. data/sorbet/rbi/gems/rake@13.1.0.rbi +3045 -0
  45. data/sorbet/rbi/gems/rbi@0.1.6.rbi +2922 -0
  46. data/sorbet/rbi/gems/regexp_parser@2.8.3.rbi +3749 -0
  47. data/sorbet/rbi/gems/rexml@3.2.6.rbi +4781 -0
  48. data/sorbet/rbi/gems/rubocop-ast@1.30.0.rbi +7099 -0
  49. data/sorbet/rbi/gems/rubocop-performance@1.20.1.rbi +3248 -0
  50. data/sorbet/rbi/gems/rubocop-shopify@2.14.0.rbi +8 -0
  51. data/sorbet/rbi/gems/rubocop-sorbet@0.7.6.rbi +1510 -0
  52. data/sorbet/rbi/gems/rubocop@1.59.0.rbi +57240 -0
  53. data/sorbet/rbi/gems/ruby-progressbar@1.13.0.rbi +1317 -0
  54. data/sorbet/rbi/gems/ruby2_keywords@0.0.5.rbi +8 -0
  55. data/sorbet/rbi/gems/smart_properties@1.17.0.rbi +474 -0
  56. data/sorbet/rbi/gems/spoom@1.2.4.rbi +3777 -0
  57. data/sorbet/rbi/gems/syntax_tree@6.2.0.rbi +23136 -0
  58. data/sorbet/rbi/gems/tapioca@0.11.14.rbi +3509 -0
  59. data/sorbet/rbi/gems/thor@1.3.0.rbi +4345 -0
  60. data/sorbet/rbi/gems/tzinfo@2.0.6.rbi +5917 -0
  61. data/sorbet/rbi/gems/unicode-display_width@2.5.0.rbi +65 -0
  62. data/sorbet/rbi/gems/yard-sorbet@0.8.1.rbi +428 -0
  63. data/sorbet/rbi/gems/yard@0.9.34.rbi +18219 -0
  64. data/sorbet/rbi/gems/zeitwerk@2.6.12.rbi +8 -0
  65. data/sorbet/rbi/todo.rbi +7 -0
  66. data/sorbet/tapioca/config.yml +13 -0
  67. data/sorbet/tapioca/require.rb +4 -0
  68. metadata +75 -1
@@ -0,0 +1,716 @@
1
+ # typed: true
2
+
3
+ # DO NOT EDIT MANUALLY
4
+ # This is an autogenerated file for types exported from the `rails-html-sanitizer` gem.
5
+ # Please instead update this file by running `bin/tapioca gem rails-html-sanitizer`.
6
+
7
+ # source://rails-html-sanitizer//lib/rails-html-sanitizer.rb#14
8
+ module ActionView
9
+ class << self
10
+ # source://actionview/7.1.2/lib/action_view/deprecator.rb#4
11
+ def deprecator; end
12
+
13
+ # source://actionview/7.1.2/lib/action_view.rb#93
14
+ def eager_load!; end
15
+
16
+ # source://actionview/7.1.2/lib/action_view/gem_version.rb#5
17
+ def gem_version; end
18
+
19
+ # source://actionview/7.1.2/lib/action_view/version.rb#7
20
+ def version; end
21
+ end
22
+ end
23
+
24
+ # source://rails-html-sanitizer//lib/rails-html-sanitizer.rb#15
25
+ module ActionView::Helpers
26
+ include ::ActionView::Helpers::SanitizeHelper
27
+ include ::ActionView::Helpers::TextHelper
28
+ include ::ActionView::Helpers::UrlHelper
29
+ include ::ActionView::Helpers::SanitizeHelper
30
+ include ::ActionView::Helpers::TextHelper
31
+ include ::ActionView::Helpers::FormTagHelper
32
+ include ::ActionView::Helpers::FormHelper
33
+ include ::ActionView::Helpers::TranslationHelper
34
+
35
+ mixes_in_class_methods ::ActionView::Helpers::UrlHelper::ClassMethods
36
+ mixes_in_class_methods ::ActionView::Helpers::SanitizeHelper::ClassMethods
37
+
38
+ class << self
39
+ # source://actionview/7.1.2/lib/action_view/helpers.rb#35
40
+ def eager_load!; end
41
+ end
42
+ end
43
+
44
+ # source://rails-html-sanitizer//lib/rails-html-sanitizer.rb#16
45
+ module ActionView::Helpers::SanitizeHelper
46
+ mixes_in_class_methods ::ActionView::Helpers::SanitizeHelper::ClassMethods
47
+
48
+ # source://actionview/7.1.2/lib/action_view/helpers/sanitize_helper.rb#100
49
+ def sanitize(html, options = T.unsafe(nil)); end
50
+
51
+ # source://actionview/7.1.2/lib/action_view/helpers/sanitize_helper.rb#105
52
+ def sanitize_css(style); end
53
+
54
+ # source://actionview/7.1.2/lib/action_view/helpers/sanitize_helper.rb#12
55
+ def sanitizer_vendor; end
56
+
57
+ # source://actionview/7.1.2/lib/action_view/helpers/sanitize_helper.rb#12
58
+ def sanitizer_vendor=(val); end
59
+
60
+ # source://actionview/7.1.2/lib/action_view/helpers/sanitize_helper.rb#139
61
+ def strip_links(html); end
62
+
63
+ # source://actionview/7.1.2/lib/action_view/helpers/sanitize_helper.rb#122
64
+ def strip_tags(html); end
65
+
66
+ class << self
67
+ # source://actionview/7.1.2/lib/action_view/helpers/sanitize_helper.rb#12
68
+ def sanitizer_vendor; end
69
+
70
+ # source://actionview/7.1.2/lib/action_view/helpers/sanitize_helper.rb#12
71
+ def sanitizer_vendor=(val); end
72
+ end
73
+ end
74
+
75
+ # source://rails-html-sanitizer//lib/rails-html-sanitizer.rb#17
76
+ module ActionView::Helpers::SanitizeHelper::ClassMethods
77
+ # source://actionview/7.1.2/lib/action_view/helpers/sanitize_helper.rb#164
78
+ def full_sanitizer; end
79
+
80
+ # source://actionview/7.1.2/lib/action_view/helpers/sanitize_helper.rb#144
81
+ def full_sanitizer=(_arg0); end
82
+
83
+ # source://actionview/7.1.2/lib/action_view/helpers/sanitize_helper.rb#174
84
+ def link_sanitizer; end
85
+
86
+ # source://actionview/7.1.2/lib/action_view/helpers/sanitize_helper.rb#144
87
+ def link_sanitizer=(_arg0); end
88
+
89
+ # source://actionview/7.1.2/lib/action_view/helpers/sanitize_helper.rb#184
90
+ def safe_list_sanitizer; end
91
+
92
+ # source://actionview/7.1.2/lib/action_view/helpers/sanitize_helper.rb#144
93
+ def safe_list_sanitizer=(_arg0); end
94
+
95
+ # source://actionview/7.1.2/lib/action_view/helpers/sanitize_helper.rb#154
96
+ def sanitized_allowed_attributes; end
97
+
98
+ # Replaces the allowed HTML attributes for the +sanitize+ helper.
99
+ #
100
+ # class Application < Rails::Application
101
+ # config.action_view.sanitized_allowed_attributes = ['onclick', 'longdesc']
102
+ # end
103
+ #
104
+ # source://rails-html-sanitizer//lib/rails-html-sanitizer.rb#34
105
+ def sanitized_allowed_attributes=(attributes); end
106
+
107
+ # source://rails-html-sanitizer//lib/rails-html-sanitizer.rb#47
108
+ def sanitized_allowed_css_keywords; end
109
+
110
+ # source://rails-html-sanitizer//lib/rails-html-sanitizer.rb#48
111
+ def sanitized_allowed_css_keywords=(_); end
112
+
113
+ # source://rails-html-sanitizer//lib/rails-html-sanitizer.rb#47
114
+ def sanitized_allowed_css_properties; end
115
+
116
+ # source://rails-html-sanitizer//lib/rails-html-sanitizer.rb#48
117
+ def sanitized_allowed_css_properties=(_); end
118
+
119
+ # source://rails-html-sanitizer//lib/rails-html-sanitizer.rb#47
120
+ def sanitized_allowed_protocols; end
121
+
122
+ # source://rails-html-sanitizer//lib/rails-html-sanitizer.rb#48
123
+ def sanitized_allowed_protocols=(_); end
124
+
125
+ # source://actionview/7.1.2/lib/action_view/helpers/sanitize_helper.rb#150
126
+ def sanitized_allowed_tags; end
127
+
128
+ # Replaces the allowed tags for the +sanitize+ helper.
129
+ #
130
+ # class Application < Rails::Application
131
+ # config.action_view.sanitized_allowed_tags = 'table', 'tr', 'td'
132
+ # end
133
+ #
134
+ # source://rails-html-sanitizer//lib/rails-html-sanitizer.rb#24
135
+ def sanitized_allowed_tags=(tags); end
136
+
137
+ # source://rails-html-sanitizer//lib/rails-html-sanitizer.rb#47
138
+ def sanitized_bad_tags; end
139
+
140
+ # source://rails-html-sanitizer//lib/rails-html-sanitizer.rb#48
141
+ def sanitized_bad_tags=(_); end
142
+
143
+ # source://rails-html-sanitizer//lib/rails-html-sanitizer.rb#47
144
+ def sanitized_protocol_separator; end
145
+
146
+ # source://rails-html-sanitizer//lib/rails-html-sanitizer.rb#48
147
+ def sanitized_protocol_separator=(_); end
148
+
149
+ # source://rails-html-sanitizer//lib/rails-html-sanitizer.rb#47
150
+ def sanitized_shorthand_css_properties; end
151
+
152
+ # source://rails-html-sanitizer//lib/rails-html-sanitizer.rb#48
153
+ def sanitized_shorthand_css_properties=(_); end
154
+
155
+ # source://rails-html-sanitizer//lib/rails-html-sanitizer.rb#47
156
+ def sanitized_uri_attributes; end
157
+
158
+ # source://rails-html-sanitizer//lib/rails-html-sanitizer.rb#48
159
+ def sanitized_uri_attributes=(_); end
160
+
161
+ # source://actionview/7.1.2/lib/action_view/helpers/sanitize_helper.rb#146
162
+ def sanitizer_vendor; end
163
+
164
+ private
165
+
166
+ # source://rails-html-sanitizer//lib/rails-html-sanitizer.rb#52
167
+ def deprecate_option(name); end
168
+ end
169
+
170
+ # source://rails-html-sanitizer//lib/rails/html/sanitizer/version.rb#3
171
+ module Rails; end
172
+
173
+ # source://rails-html-sanitizer//lib/rails/html/sanitizer/version.rb#4
174
+ module Rails::HTML; end
175
+
176
+ # source://rails-html-sanitizer//lib/rails/html/sanitizer.rb#193
177
+ module Rails::HTML4; end
178
+
179
+ # == Rails::HTML4::FullSanitizer
180
+ #
181
+ # Removes all tags from HTML4 but strips out scripts, forms and comments.
182
+ #
183
+ # full_sanitizer = Rails::HTML4::FullSanitizer.new
184
+ # full_sanitizer.sanitize("<b>Bold</b> no more! <a href='more.html'>See more here</a>...")
185
+ # # => "Bold no more! See more here..."
186
+ #
187
+ # source://rails-html-sanitizer//lib/rails/html/sanitizer.rb#224
188
+ class Rails::HTML4::FullSanitizer < ::Rails::HTML::Sanitizer
189
+ include ::Rails::HTML::Concern::ComposedSanitize
190
+ include ::Rails::HTML::Concern::Parser::HTML4
191
+ include ::Rails::HTML::Concern::Scrubber::Full
192
+ include ::Rails::HTML::Concern::Serializer::UTF8Encode
193
+ end
194
+
195
+ # == Rails::HTML4::LinkSanitizer
196
+ #
197
+ # Removes +a+ tags and +href+ attributes from HTML4 leaving only the link text.
198
+ #
199
+ # link_sanitizer = Rails::HTML4::LinkSanitizer.new
200
+ # link_sanitizer.sanitize('<a href="example.com">Only the link text will be kept.</a>')
201
+ # # => "Only the link text will be kept."
202
+ #
203
+ # source://rails-html-sanitizer//lib/rails/html/sanitizer.rb#239
204
+ class Rails::HTML4::LinkSanitizer < ::Rails::HTML::Sanitizer
205
+ include ::Rails::HTML::Concern::ComposedSanitize
206
+ include ::Rails::HTML::Concern::Parser::HTML4
207
+ include ::Rails::HTML::Concern::Scrubber::Link
208
+ include ::Rails::HTML::Concern::Serializer::UTF8Encode
209
+ end
210
+
211
+ # == Rails::HTML4::SafeListSanitizer
212
+ #
213
+ # Sanitizes HTML4 and CSS from an extensive safe list.
214
+ #
215
+ # === Whitespace
216
+ #
217
+ # We can't make any guarantees about whitespace being kept or stripped. Loofah uses Nokogiri,
218
+ # which wraps either a C or Java parser for the respective Ruby implementation. Those two
219
+ # parsers determine how whitespace is ultimately handled.
220
+ #
221
+ # When the stripped markup will be rendered the users browser won't take whitespace into account
222
+ # anyway. It might be better to suggest your users wrap their whitespace sensitive content in
223
+ # pre tags or that you do so automatically.
224
+ #
225
+ # === Options
226
+ #
227
+ # Sanitizes both html and css via the safe lists found in
228
+ # Rails::HTML::Concern::Scrubber::SafeList
229
+ #
230
+ # SafeListSanitizer also accepts options to configure the safe list used when sanitizing html.
231
+ # There's a class level option:
232
+ #
233
+ # Rails::HTML4::SafeListSanitizer.allowed_tags = %w(table tr td)
234
+ # Rails::HTML4::SafeListSanitizer.allowed_attributes = %w(id class style)
235
+ #
236
+ # Tags and attributes can also be passed to +sanitize+. Passed options take precedence over the
237
+ # class level options.
238
+ #
239
+ # === Examples
240
+ #
241
+ # safe_list_sanitizer = Rails::HTML4::SafeListSanitizer.new
242
+ #
243
+ # # default: sanitize via a extensive safe list of allowed elements
244
+ # safe_list_sanitizer.sanitize(@article.body)
245
+ #
246
+ # # sanitize via the supplied tags and attributes
247
+ # safe_list_sanitizer.sanitize(
248
+ # @article.body,
249
+ # tags: %w(table tr td),
250
+ # attributes: %w(id class style),
251
+ # )
252
+ #
253
+ # # sanitize via a custom Loofah scrubber
254
+ # safe_list_sanitizer.sanitize(@article.body, scrubber: ArticleScrubber.new)
255
+ #
256
+ # # prune nodes from the tree instead of stripping tags and leaving inner content
257
+ # safe_list_sanitizer = Rails::HTML4::SafeListSanitizer.new(prune: true)
258
+ #
259
+ # # the sanitizer can also sanitize CSS
260
+ # safe_list_sanitizer.sanitize_css('background-color: #000;')
261
+ #
262
+ # source://rails-html-sanitizer//lib/rails/html/sanitizer.rb#297
263
+ class Rails::HTML4::SafeListSanitizer < ::Rails::HTML::Sanitizer
264
+ include ::Rails::HTML::Concern::ComposedSanitize
265
+ include ::Rails::HTML::Concern::Parser::HTML4
266
+ include ::Rails::HTML::Concern::Scrubber::SafeList
267
+ include ::Rails::HTML::Concern::Serializer::UTF8Encode
268
+
269
+ class << self
270
+ # source://rails-html-sanitizer//lib/rails/html/sanitizer.rb#144
271
+ def allowed_attributes; end
272
+
273
+ # source://rails-html-sanitizer//lib/rails/html/sanitizer.rb#144
274
+ def allowed_attributes=(_arg0); end
275
+
276
+ # source://rails-html-sanitizer//lib/rails/html/sanitizer.rb#143
277
+ def allowed_tags; end
278
+
279
+ # source://rails-html-sanitizer//lib/rails/html/sanitizer.rb#143
280
+ def allowed_tags=(_arg0); end
281
+ end
282
+ end
283
+
284
+ # source://rails-html-sanitizer//lib/rails/html/sanitizer.rb#194
285
+ module Rails::HTML4::Sanitizer
286
+ extend ::Rails::HTML4::Sanitizer::VendorMethods
287
+ end
288
+
289
+ # source://rails-html-sanitizer//lib/rails/html/sanitizer.rb#195
290
+ module Rails::HTML4::Sanitizer::VendorMethods
291
+ # source://rails-html-sanitizer//lib/rails/html/sanitizer.rb#196
292
+ def full_sanitizer; end
293
+
294
+ # source://rails-html-sanitizer//lib/rails/html/sanitizer.rb#200
295
+ def link_sanitizer; end
296
+
297
+ # source://rails-html-sanitizer//lib/rails/html/sanitizer.rb#204
298
+ def safe_list_sanitizer; end
299
+
300
+ # source://rails-html-sanitizer//lib/rails/html/sanitizer.rb#208
301
+ def white_list_sanitizer; end
302
+ end
303
+
304
+ # source://rails-html-sanitizer//lib/rails/html/sanitizer.rb#305
305
+ module Rails::HTML5; end
306
+
307
+ # == Rails::HTML5::FullSanitizer
308
+ #
309
+ # Removes all tags from HTML5 but strips out scripts, forms and comments.
310
+ #
311
+ # full_sanitizer = Rails::HTML5::FullSanitizer.new
312
+ # full_sanitizer.sanitize("<b>Bold</b> no more! <a href='more.html'>See more here</a>...")
313
+ # # => "Bold no more! See more here..."
314
+ #
315
+ # source://rails-html-sanitizer//lib/rails/html/sanitizer.rb#334
316
+ class Rails::HTML5::FullSanitizer < ::Rails::HTML::Sanitizer
317
+ include ::Rails::HTML::Concern::ComposedSanitize
318
+ include ::Rails::HTML::Concern::Parser::HTML5
319
+ include ::Rails::HTML::Concern::Scrubber::Full
320
+ include ::Rails::HTML::Concern::Serializer::UTF8Encode
321
+ end
322
+
323
+ # == Rails::HTML5::LinkSanitizer
324
+ #
325
+ # Removes +a+ tags and +href+ attributes from HTML5 leaving only the link text.
326
+ #
327
+ # link_sanitizer = Rails::HTML5::LinkSanitizer.new
328
+ # link_sanitizer.sanitize('<a href="example.com">Only the link text will be kept.</a>')
329
+ # # => "Only the link text will be kept."
330
+ #
331
+ # source://rails-html-sanitizer//lib/rails/html/sanitizer.rb#349
332
+ class Rails::HTML5::LinkSanitizer < ::Rails::HTML::Sanitizer
333
+ include ::Rails::HTML::Concern::ComposedSanitize
334
+ include ::Rails::HTML::Concern::Parser::HTML5
335
+ include ::Rails::HTML::Concern::Scrubber::Link
336
+ include ::Rails::HTML::Concern::Serializer::UTF8Encode
337
+ end
338
+
339
+ # == Rails::HTML5::SafeListSanitizer
340
+ #
341
+ # Sanitizes HTML5 and CSS from an extensive safe list.
342
+ #
343
+ # === Whitespace
344
+ #
345
+ # We can't make any guarantees about whitespace being kept or stripped. Loofah uses Nokogiri,
346
+ # which wraps either a C or Java parser for the respective Ruby implementation. Those two
347
+ # parsers determine how whitespace is ultimately handled.
348
+ #
349
+ # When the stripped markup will be rendered the users browser won't take whitespace into account
350
+ # anyway. It might be better to suggest your users wrap their whitespace sensitive content in
351
+ # pre tags or that you do so automatically.
352
+ #
353
+ # === Options
354
+ #
355
+ # Sanitizes both html and css via the safe lists found in
356
+ # Rails::HTML::Concern::Scrubber::SafeList
357
+ #
358
+ # SafeListSanitizer also accepts options to configure the safe list used when sanitizing html.
359
+ # There's a class level option:
360
+ #
361
+ # Rails::HTML5::SafeListSanitizer.allowed_tags = %w(table tr td)
362
+ # Rails::HTML5::SafeListSanitizer.allowed_attributes = %w(id class style)
363
+ #
364
+ # Tags and attributes can also be passed to +sanitize+. Passed options take precedence over the
365
+ # class level options.
366
+ #
367
+ # === Examples
368
+ #
369
+ # safe_list_sanitizer = Rails::HTML5::SafeListSanitizer.new
370
+ #
371
+ # # default: sanitize via a extensive safe list of allowed elements
372
+ # safe_list_sanitizer.sanitize(@article.body)
373
+ #
374
+ # # sanitize via the supplied tags and attributes
375
+ # safe_list_sanitizer.sanitize(
376
+ # @article.body,
377
+ # tags: %w(table tr td),
378
+ # attributes: %w(id class style),
379
+ # )
380
+ #
381
+ # # sanitize via a custom Loofah scrubber
382
+ # safe_list_sanitizer.sanitize(@article.body, scrubber: ArticleScrubber.new)
383
+ #
384
+ # # prune nodes from the tree instead of stripping tags and leaving inner content
385
+ # safe_list_sanitizer = Rails::HTML5::SafeListSanitizer.new(prune: true)
386
+ #
387
+ # # the sanitizer can also sanitize CSS
388
+ # safe_list_sanitizer.sanitize_css('background-color: #000;')
389
+ #
390
+ # source://rails-html-sanitizer//lib/rails/html/sanitizer.rb#407
391
+ class Rails::HTML5::SafeListSanitizer < ::Rails::HTML::Sanitizer
392
+ include ::Rails::HTML::Concern::ComposedSanitize
393
+ include ::Rails::HTML::Concern::Parser::HTML5
394
+ include ::Rails::HTML::Concern::Scrubber::SafeList
395
+ include ::Rails::HTML::Concern::Serializer::UTF8Encode
396
+
397
+ class << self
398
+ # source://rails-html-sanitizer//lib/rails/html/sanitizer.rb#144
399
+ def allowed_attributes; end
400
+
401
+ # source://rails-html-sanitizer//lib/rails/html/sanitizer.rb#144
402
+ def allowed_attributes=(_arg0); end
403
+
404
+ # source://rails-html-sanitizer//lib/rails/html/sanitizer.rb#143
405
+ def allowed_tags; end
406
+
407
+ # source://rails-html-sanitizer//lib/rails/html/sanitizer.rb#143
408
+ def allowed_tags=(_arg0); end
409
+ end
410
+ end
411
+
412
+ # source://rails-html-sanitizer//lib/rails/html/sanitizer.rb#306
413
+ class Rails::HTML5::Sanitizer
414
+ class << self
415
+ # source://rails-html-sanitizer//lib/rails/html/sanitizer.rb#308
416
+ def full_sanitizer; end
417
+
418
+ # source://rails-html-sanitizer//lib/rails/html/sanitizer.rb#312
419
+ def link_sanitizer; end
420
+
421
+ # source://rails-html-sanitizer//lib/rails/html/sanitizer.rb#316
422
+ def safe_list_sanitizer; end
423
+
424
+ # source://rails-html-sanitizer//lib/rails/html/sanitizer.rb#320
425
+ def white_list_sanitizer; end
426
+ end
427
+ end
428
+
429
+ # source://rails-html-sanitizer//lib/rails/html/sanitizer.rb#33
430
+ module Rails::HTML::Concern; end
431
+
432
+ # source://rails-html-sanitizer//lib/rails/html/sanitizer.rb#34
433
+ module Rails::HTML::Concern::ComposedSanitize
434
+ # source://rails-html-sanitizer//lib/rails/html/sanitizer.rb#35
435
+ def sanitize(html, options = T.unsafe(nil)); end
436
+ end
437
+
438
+ # source://rails-html-sanitizer//lib/rails/html/sanitizer.rb#43
439
+ module Rails::HTML::Concern::Parser; end
440
+
441
+ # source://rails-html-sanitizer//lib/rails/html/sanitizer.rb#44
442
+ module Rails::HTML::Concern::Parser::HTML4
443
+ # source://rails-html-sanitizer//lib/rails/html/sanitizer.rb#45
444
+ def parse_fragment(html); end
445
+ end
446
+
447
+ # source://rails-html-sanitizer//lib/rails/html/sanitizer.rb#50
448
+ module Rails::HTML::Concern::Parser::HTML5
449
+ # source://rails-html-sanitizer//lib/rails/html/sanitizer.rb#51
450
+ def parse_fragment(html); end
451
+ end
452
+
453
+ # source://rails-html-sanitizer//lib/rails/html/sanitizer.rb#57
454
+ module Rails::HTML::Concern::Scrubber; end
455
+
456
+ # source://rails-html-sanitizer//lib/rails/html/sanitizer.rb#58
457
+ module Rails::HTML::Concern::Scrubber::Full
458
+ # source://rails-html-sanitizer//lib/rails/html/sanitizer.rb#59
459
+ def scrub(fragment, options = T.unsafe(nil)); end
460
+ end
461
+
462
+ # source://rails-html-sanitizer//lib/rails/html/sanitizer.rb#64
463
+ module Rails::HTML::Concern::Scrubber::Link
464
+ # source://rails-html-sanitizer//lib/rails/html/sanitizer.rb#65
465
+ def initialize; end
466
+
467
+ # source://rails-html-sanitizer//lib/rails/html/sanitizer.rb#72
468
+ def scrub(fragment, options = T.unsafe(nil)); end
469
+ end
470
+
471
+ # source://rails-html-sanitizer//lib/rails/html/sanitizer.rb#77
472
+ module Rails::HTML::Concern::Scrubber::SafeList
473
+ # source://rails-html-sanitizer//lib/rails/html/sanitizer.rb#151
474
+ def initialize(prune: T.unsafe(nil)); end
475
+
476
+ # source://rails-html-sanitizer//lib/rails/html/sanitizer.rb#168
477
+ def sanitize_css(style_string); end
478
+
479
+ # source://rails-html-sanitizer//lib/rails/html/sanitizer.rb#155
480
+ def scrub(fragment, options = T.unsafe(nil)); end
481
+
482
+ private
483
+
484
+ # source://rails-html-sanitizer//lib/rails/html/sanitizer.rb#177
485
+ def allowed_attributes(options); end
486
+
487
+ # source://rails-html-sanitizer//lib/rails/html/sanitizer.rb#173
488
+ def allowed_tags(options); end
489
+
490
+ class << self
491
+ # @private
492
+ #
493
+ # source://rails-html-sanitizer//lib/rails/html/sanitizer.rb#141
494
+ def included(klass); end
495
+ end
496
+ end
497
+
498
+ # The default safe list for attributes
499
+ #
500
+ # source://rails-html-sanitizer//lib/rails/html/sanitizer.rb#125
501
+ Rails::HTML::Concern::Scrubber::SafeList::DEFAULT_ALLOWED_ATTRIBUTES = T.let(T.unsafe(nil), Set)
502
+
503
+ # The default safe list for tags
504
+ #
505
+ # source://rails-html-sanitizer//lib/rails/html/sanitizer.rb#79
506
+ Rails::HTML::Concern::Scrubber::SafeList::DEFAULT_ALLOWED_TAGS = T.let(T.unsafe(nil), Set)
507
+
508
+ # source://rails-html-sanitizer//lib/rails/html/sanitizer.rb#183
509
+ module Rails::HTML::Concern::Serializer; end
510
+
511
+ # source://rails-html-sanitizer//lib/rails/html/sanitizer.rb#184
512
+ module Rails::HTML::Concern::Serializer::UTF8Encode
513
+ # source://rails-html-sanitizer//lib/rails/html/sanitizer.rb#185
514
+ def serialize(fragment); end
515
+ end
516
+
517
+ # source://rails-html-sanitizer//lib/rails/html/sanitizer.rb#417
518
+ Rails::HTML::FullSanitizer = Rails::HTML4::FullSanitizer
519
+
520
+ # source://rails-html-sanitizer//lib/rails/html/sanitizer.rb#418
521
+ Rails::HTML::LinkSanitizer = Rails::HTML4::LinkSanitizer
522
+
523
+ # === Rails::HTML::PermitScrubber
524
+ #
525
+ # +Rails::HTML::PermitScrubber+ allows you to permit only your own tags and/or attributes.
526
+ #
527
+ # +Rails::HTML::PermitScrubber+ can be subclassed to determine:
528
+ # - When a node should be skipped via +skip_node?+.
529
+ # - When a node is allowed via +allowed_node?+.
530
+ # - When an attribute should be scrubbed via +scrub_attribute?+.
531
+ #
532
+ # Subclasses don't need to worry if tags or attributes are set or not.
533
+ # If tags or attributes are not set, Loofah's behavior will be used.
534
+ # If you override +allowed_node?+ and no tags are set, it will not be called.
535
+ # Instead Loofahs behavior will be used.
536
+ # Likewise for +scrub_attribute?+ and attributes respectively.
537
+ #
538
+ # Text and CDATA nodes are skipped by default.
539
+ # Unallowed elements will be stripped, i.e. element is removed but its subtree kept.
540
+ # Supplied tags and attributes should be Enumerables.
541
+ #
542
+ # +tags=+
543
+ # If set, elements excluded will be stripped.
544
+ # If not, elements are stripped based on Loofahs +HTML5::Scrub.allowed_element?+.
545
+ #
546
+ # +attributes=+
547
+ # If set, attributes excluded will be removed.
548
+ # If not, attributes are removed based on Loofahs +HTML5::Scrub.scrub_attributes+.
549
+ #
550
+ # class CommentScrubber < Rails::HTML::PermitScrubber
551
+ # def initialize
552
+ # super
553
+ # self.tags = %w(form script comment blockquote)
554
+ # end
555
+ #
556
+ # def skip_node?(node)
557
+ # node.text?
558
+ # end
559
+ #
560
+ # def scrub_attribute?(name)
561
+ # name == "style"
562
+ # end
563
+ # end
564
+ #
565
+ # See the documentation for +Nokogiri::XML::Node+ to understand what's possible
566
+ # with nodes: https://nokogiri.org/rdoc/Nokogiri/XML/Node.html
567
+ #
568
+ # source://rails-html-sanitizer//lib/rails/html/scrubbers.rb#49
569
+ class Rails::HTML::PermitScrubber < ::Loofah::Scrubber
570
+ # @return [PermitScrubber] a new instance of PermitScrubber
571
+ #
572
+ # source://rails-html-sanitizer//lib/rails/html/scrubbers.rb#52
573
+ def initialize(prune: T.unsafe(nil)); end
574
+
575
+ # Returns the value of attribute attributes.
576
+ #
577
+ # source://rails-html-sanitizer//lib/rails/html/scrubbers.rb#50
578
+ def attributes; end
579
+
580
+ # source://rails-html-sanitizer//lib/rails/html/scrubbers.rb#62
581
+ def attributes=(attributes); end
582
+
583
+ # Returns the value of attribute prune.
584
+ #
585
+ # source://rails-html-sanitizer//lib/rails/html/scrubbers.rb#50
586
+ def prune; end
587
+
588
+ # source://rails-html-sanitizer//lib/rails/html/scrubbers.rb#66
589
+ def scrub(node); end
590
+
591
+ # Returns the value of attribute tags.
592
+ #
593
+ # source://rails-html-sanitizer//lib/rails/html/scrubbers.rb#50
594
+ def tags; end
595
+
596
+ # source://rails-html-sanitizer//lib/rails/html/scrubbers.rb#58
597
+ def tags=(tags); end
598
+
599
+ protected
600
+
601
+ # @return [Boolean]
602
+ #
603
+ # source://rails-html-sanitizer//lib/rails/html/scrubbers.rb#82
604
+ def allowed_node?(node); end
605
+
606
+ # @return [Boolean]
607
+ #
608
+ # source://rails-html-sanitizer//lib/rails/html/scrubbers.rb#94
609
+ def keep_node?(node); end
610
+
611
+ # source://rails-html-sanitizer//lib/rails/html/scrubbers.rb#136
612
+ def scrub_attribute(node, attr_node); end
613
+
614
+ # @return [Boolean]
615
+ #
616
+ # source://rails-html-sanitizer//lib/rails/html/scrubbers.rb#90
617
+ def scrub_attribute?(name); end
618
+
619
+ # source://rails-html-sanitizer//lib/rails/html/scrubbers.rb#107
620
+ def scrub_attributes(node); end
621
+
622
+ # source://rails-html-sanitizer//lib/rails/html/scrubbers.rb#120
623
+ def scrub_css_attribute(node); end
624
+
625
+ # source://rails-html-sanitizer//lib/rails/html/scrubbers.rb#102
626
+ def scrub_node(node); end
627
+
628
+ # @return [Boolean]
629
+ #
630
+ # source://rails-html-sanitizer//lib/rails/html/scrubbers.rb#86
631
+ def skip_node?(node); end
632
+
633
+ # source://rails-html-sanitizer//lib/rails/html/scrubbers.rb#129
634
+ def validate!(var, name); end
635
+ end
636
+
637
+ # source://rails-html-sanitizer//lib/rails/html/sanitizer.rb#419
638
+ Rails::HTML::SafeListSanitizer = Rails::HTML4::SafeListSanitizer
639
+
640
+ # source://rails-html-sanitizer//lib/rails/html/sanitizer/version.rb#5
641
+ class Rails::HTML::Sanitizer
642
+ extend ::Rails::HTML4::Sanitizer::VendorMethods
643
+
644
+ # @raise [NotImplementedError]
645
+ #
646
+ # source://rails-html-sanitizer//lib/rails/html/sanitizer.rb#18
647
+ def sanitize(html, options = T.unsafe(nil)); end
648
+
649
+ private
650
+
651
+ # source://rails-html-sanitizer//lib/rails/html/sanitizer.rb#28
652
+ def properly_encode(fragment, options); end
653
+
654
+ # source://rails-html-sanitizer//lib/rails/html/sanitizer.rb#23
655
+ def remove_xpaths(node, xpaths); end
656
+
657
+ class << self
658
+ # source://rails-html-sanitizer//lib/rails/html/sanitizer.rb#13
659
+ def best_supported_vendor; end
660
+
661
+ # @return [Boolean]
662
+ #
663
+ # source://rails-html-sanitizer//lib/rails/html/sanitizer.rb#7
664
+ def html5_support?; end
665
+ end
666
+ end
667
+
668
+ # source://rails-html-sanitizer//lib/rails/html/sanitizer/version.rb#6
669
+ Rails::HTML::Sanitizer::VERSION = T.let(T.unsafe(nil), String)
670
+
671
+ # === Rails::HTML::TargetScrubber
672
+ #
673
+ # Where +Rails::HTML::PermitScrubber+ picks out tags and attributes to permit in
674
+ # sanitization, +Rails::HTML::TargetScrubber+ targets them for removal.
675
+ #
676
+ # +tags=+
677
+ # If set, elements included will be stripped.
678
+ #
679
+ # +attributes=+
680
+ # If set, attributes included will be removed.
681
+ #
682
+ # source://rails-html-sanitizer//lib/rails/html/scrubbers.rb#171
683
+ class Rails::HTML::TargetScrubber < ::Rails::HTML::PermitScrubber
684
+ # @return [Boolean]
685
+ #
686
+ # source://rails-html-sanitizer//lib/rails/html/scrubbers.rb#172
687
+ def allowed_node?(node); end
688
+
689
+ # @return [Boolean]
690
+ #
691
+ # source://rails-html-sanitizer//lib/rails/html/scrubbers.rb#176
692
+ def scrub_attribute?(name); end
693
+ end
694
+
695
+ # === Rails::HTML::TextOnlyScrubber
696
+ #
697
+ # +Rails::HTML::TextOnlyScrubber+ allows you to permit text nodes.
698
+ #
699
+ # Unallowed elements will be stripped, i.e. element is removed but its subtree kept.
700
+ #
701
+ # source://rails-html-sanitizer//lib/rails/html/scrubbers.rb#186
702
+ class Rails::HTML::TextOnlyScrubber < ::Loofah::Scrubber
703
+ # @return [TextOnlyScrubber] a new instance of TextOnlyScrubber
704
+ #
705
+ # source://rails-html-sanitizer//lib/rails/html/scrubbers.rb#187
706
+ def initialize; end
707
+
708
+ # source://rails-html-sanitizer//lib/rails/html/scrubbers.rb#191
709
+ def scrub(node); end
710
+ end
711
+
712
+ # source://rails-html-sanitizer//lib/rails/html/sanitizer.rb#420
713
+ Rails::HTML::WhiteListSanitizer = Rails::HTML4::SafeListSanitizer
714
+
715
+ # source://rails-html-sanitizer//lib/rails-html-sanitizer.rb#11
716
+ Rails::Html = Rails::HTML