vigiles 0.1.0.pre.beta3 → 0.1.0.pre.beta4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (64) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +10 -1
  3. data/lib/vigiles/archive/extras.rb +4 -3
  4. data/lib/vigiles/archive/metadata.rb +3 -2
  5. data/lib/vigiles/archive/request.rb +18 -4
  6. data/lib/vigiles/archive.rb +15 -3
  7. data/lib/vigiles/constants.rb +7 -0
  8. data/lib/vigiles/middleware/record_conversation.rb +6 -22
  9. data/lib/vigiles/spec.rb +1 -1
  10. data/lib/vigiles/utilities/uri.rb +18 -0
  11. data/lib/vigiles/version.rb +1 -1
  12. data/lib/vigiles.rb +4 -1
  13. data/sorbet/rbi/gems/{activemodel@7.0.5.rbi → actioncable@7.1.3.3.rbi} +2 -2
  14. data/sorbet/rbi/gems/actionmailbox@7.1.3.3.rbi +8 -0
  15. data/sorbet/rbi/gems/{activerecord@7.0.5.rbi → actionmailer@7.1.3.3.rbi} +2 -2
  16. data/sorbet/rbi/gems/actionpack@7.1.3.3.rbi +20046 -0
  17. data/sorbet/rbi/gems/actiontext@7.1.3.3.rbi +8 -0
  18. data/sorbet/rbi/gems/actionview@7.1.3.3.rbi +15953 -0
  19. data/sorbet/rbi/gems/activejob@7.1.3.3.rbi +8 -0
  20. data/sorbet/rbi/gems/activemodel@7.1.3.3.rbi +6657 -0
  21. data/sorbet/rbi/gems/activerecord@7.1.3.3.rbi +41520 -0
  22. data/sorbet/rbi/gems/activestorage@7.1.3.3.rbi +8 -0
  23. data/sorbet/rbi/gems/activesupport@7.1.3.3.rbi +20570 -0
  24. data/sorbet/rbi/gems/base64@0.2.0.rbi +508 -0
  25. data/sorbet/rbi/gems/bigdecimal@3.1.8.rbi +77 -0
  26. data/sorbet/rbi/gems/builder@3.2.4.rbi +8 -0
  27. data/sorbet/rbi/gems/connection_pool@2.4.1.rbi +8 -0
  28. data/sorbet/rbi/gems/crass@1.0.6.rbi +622 -0
  29. data/sorbet/rbi/gems/date@3.3.4.rbi +74 -0
  30. data/sorbet/rbi/gems/drb@2.2.1.rbi +1346 -0
  31. data/sorbet/rbi/gems/globalid@1.2.1.rbi +8 -0
  32. data/sorbet/rbi/gems/i18n@1.14.5.rbi +2358 -0
  33. data/sorbet/rbi/gems/io-console@0.7.2.rbi +8 -0
  34. data/sorbet/rbi/gems/loofah@2.22.0.rbi +1080 -0
  35. data/sorbet/rbi/gems/{i18n@1.14.1.rbi → mail@2.8.1.rbi} +2 -2
  36. data/sorbet/rbi/gems/marcel@1.0.4.rbi +8 -0
  37. data/sorbet/rbi/gems/mini_mime@1.1.5.rbi +8 -0
  38. data/sorbet/rbi/gems/mutex_m@0.2.0.rbi +93 -0
  39. data/sorbet/rbi/gems/net-imap@0.4.11.rbi +8 -0
  40. data/sorbet/rbi/gems/net-pop@0.1.2.rbi +8 -0
  41. data/sorbet/rbi/gems/net-protocol@0.2.2.rbi +291 -0
  42. data/sorbet/rbi/gems/net-smtp@0.5.0.rbi +8 -0
  43. data/sorbet/rbi/gems/nio4r@2.7.3.rbi +8 -0
  44. data/sorbet/rbi/gems/nokogiri@1.16.5.rbi +7310 -0
  45. data/sorbet/rbi/gems/psych@5.1.2.rbi +1768 -0
  46. data/sorbet/rbi/gems/rack-session@2.0.0.rbi +729 -0
  47. data/sorbet/rbi/gems/rack-test@2.1.0.rbi +749 -0
  48. data/sorbet/rbi/gems/rack@3.0.11.rbi +5195 -0
  49. data/sorbet/rbi/gems/rackup@2.1.0.rbi +406 -0
  50. data/sorbet/rbi/gems/rails-dom-testing@2.2.0.rbi +691 -0
  51. data/sorbet/rbi/gems/rails-html-sanitizer@1.6.0.rbi +721 -0
  52. data/sorbet/rbi/gems/rails@7.1.3.3.rbi +8 -0
  53. data/sorbet/rbi/gems/railties@7.1.3.3.rbi +2167 -0
  54. data/sorbet/rbi/gems/rdoc@6.6.3.1.rbi +12715 -0
  55. data/sorbet/rbi/gems/reline@0.5.7.rbi +8 -0
  56. data/sorbet/rbi/gems/stringio@3.1.0.rbi +8 -0
  57. data/sorbet/rbi/gems/timeout@0.4.1.rbi +148 -0
  58. data/sorbet/rbi/gems/webrick@1.8.1.rbi +2606 -0
  59. data/sorbet/rbi/gems/websocket-driver@0.7.6.rbi +8 -0
  60. data/sorbet/rbi/gems/websocket-extensions@0.1.5.rbi +8 -0
  61. data/sorbet/rbi/gems/zeitwerk@2.6.13.rbi +1003 -0
  62. data/vigiles.gemspec +1 -1
  63. metadata +54 -7
  64. data/sorbet/rbi/gems/activesupport@7.0.5.rbi +0 -14
@@ -0,0 +1,721 @@
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.3.3/lib/action_view/deprecator.rb#4
11
+ def deprecator; end
12
+
13
+ # source://actionview/7.1.3.3/lib/action_view.rb#93
14
+ def eager_load!; end
15
+
16
+ # source://actionview/7.1.3.3/lib/action_view/gem_version.rb#5
17
+ def gem_version; end
18
+
19
+ # source://actionview/7.1.3.3/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.3.3/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.3.3/lib/action_view/helpers/sanitize_helper.rb#111
49
+ def sanitize(html, options = T.unsafe(nil)); end
50
+
51
+ # source://actionview/7.1.3.3/lib/action_view/helpers/sanitize_helper.rb#116
52
+ def sanitize_css(style); end
53
+
54
+ # source://actionview/7.1.3.3/lib/action_view/helpers/sanitize_helper.rb#12
55
+ def sanitizer_vendor; end
56
+
57
+ # source://actionview/7.1.3.3/lib/action_view/helpers/sanitize_helper.rb#12
58
+ def sanitizer_vendor=(val); end
59
+
60
+ # source://actionview/7.1.3.3/lib/action_view/helpers/sanitize_helper.rb#150
61
+ def strip_links(html); end
62
+
63
+ # source://actionview/7.1.3.3/lib/action_view/helpers/sanitize_helper.rb#133
64
+ def strip_tags(html); end
65
+
66
+ class << self
67
+ # source://actionview/7.1.3.3/lib/action_view/helpers/sanitize_helper.rb#12
68
+ def sanitizer_vendor; end
69
+
70
+ # source://actionview/7.1.3.3/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.3.3/lib/action_view/helpers/sanitize_helper.rb#175
78
+ def full_sanitizer; end
79
+
80
+ # source://actionview/7.1.3.3/lib/action_view/helpers/sanitize_helper.rb#155
81
+ def full_sanitizer=(_arg0); end
82
+
83
+ # source://actionview/7.1.3.3/lib/action_view/helpers/sanitize_helper.rb#185
84
+ def link_sanitizer; end
85
+
86
+ # source://actionview/7.1.3.3/lib/action_view/helpers/sanitize_helper.rb#155
87
+ def link_sanitizer=(_arg0); end
88
+
89
+ # source://actionview/7.1.3.3/lib/action_view/helpers/sanitize_helper.rb#195
90
+ def safe_list_sanitizer; end
91
+
92
+ # source://actionview/7.1.3.3/lib/action_view/helpers/sanitize_helper.rb#155
93
+ def safe_list_sanitizer=(_arg0); end
94
+
95
+ # source://actionview/7.1.3.3/lib/action_view/helpers/sanitize_helper.rb#165
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.3.3/lib/action_view/helpers/sanitize_helper.rb#161
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.3.3/lib/action_view/helpers/sanitize_helper.rb#157
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
172
+ class << self
173
+ # source://railties/7.1.3.3/lib/rails/deprecator.rb#4
174
+ def deprecator; end
175
+ end
176
+ end
177
+
178
+ # source://rails-html-sanitizer//lib/rails/html/sanitizer/version.rb#4
179
+ module Rails::HTML; end
180
+
181
+ # source://rails-html-sanitizer//lib/rails/html/sanitizer.rb#193
182
+ module Rails::HTML4; end
183
+
184
+ # == Rails::HTML4::FullSanitizer
185
+ #
186
+ # Removes all tags from HTML4 but strips out scripts, forms and comments.
187
+ #
188
+ # full_sanitizer = Rails::HTML4::FullSanitizer.new
189
+ # full_sanitizer.sanitize("<b>Bold</b> no more! <a href='more.html'>See more here</a>...")
190
+ # # => "Bold no more! See more here..."
191
+ #
192
+ # source://rails-html-sanitizer//lib/rails/html/sanitizer.rb#224
193
+ class Rails::HTML4::FullSanitizer < ::Rails::HTML::Sanitizer
194
+ include ::Rails::HTML::Concern::ComposedSanitize
195
+ include ::Rails::HTML::Concern::Parser::HTML4
196
+ include ::Rails::HTML::Concern::Scrubber::Full
197
+ include ::Rails::HTML::Concern::Serializer::UTF8Encode
198
+ end
199
+
200
+ # == Rails::HTML4::LinkSanitizer
201
+ #
202
+ # Removes +a+ tags and +href+ attributes from HTML4 leaving only the link text.
203
+ #
204
+ # link_sanitizer = Rails::HTML4::LinkSanitizer.new
205
+ # link_sanitizer.sanitize('<a href="example.com">Only the link text will be kept.</a>')
206
+ # # => "Only the link text will be kept."
207
+ #
208
+ # source://rails-html-sanitizer//lib/rails/html/sanitizer.rb#239
209
+ class Rails::HTML4::LinkSanitizer < ::Rails::HTML::Sanitizer
210
+ include ::Rails::HTML::Concern::ComposedSanitize
211
+ include ::Rails::HTML::Concern::Parser::HTML4
212
+ include ::Rails::HTML::Concern::Scrubber::Link
213
+ include ::Rails::HTML::Concern::Serializer::UTF8Encode
214
+ end
215
+
216
+ # == Rails::HTML4::SafeListSanitizer
217
+ #
218
+ # Sanitizes HTML4 and CSS from an extensive safe list.
219
+ #
220
+ # === Whitespace
221
+ #
222
+ # We can't make any guarantees about whitespace being kept or stripped. Loofah uses Nokogiri,
223
+ # which wraps either a C or Java parser for the respective Ruby implementation. Those two
224
+ # parsers determine how whitespace is ultimately handled.
225
+ #
226
+ # When the stripped markup will be rendered the users browser won't take whitespace into account
227
+ # anyway. It might be better to suggest your users wrap their whitespace sensitive content in
228
+ # pre tags or that you do so automatically.
229
+ #
230
+ # === Options
231
+ #
232
+ # Sanitizes both html and css via the safe lists found in
233
+ # Rails::HTML::Concern::Scrubber::SafeList
234
+ #
235
+ # SafeListSanitizer also accepts options to configure the safe list used when sanitizing html.
236
+ # There's a class level option:
237
+ #
238
+ # Rails::HTML4::SafeListSanitizer.allowed_tags = %w(table tr td)
239
+ # Rails::HTML4::SafeListSanitizer.allowed_attributes = %w(id class style)
240
+ #
241
+ # Tags and attributes can also be passed to +sanitize+. Passed options take precedence over the
242
+ # class level options.
243
+ #
244
+ # === Examples
245
+ #
246
+ # safe_list_sanitizer = Rails::HTML4::SafeListSanitizer.new
247
+ #
248
+ # # default: sanitize via a extensive safe list of allowed elements
249
+ # safe_list_sanitizer.sanitize(@article.body)
250
+ #
251
+ # # sanitize via the supplied tags and attributes
252
+ # safe_list_sanitizer.sanitize(
253
+ # @article.body,
254
+ # tags: %w(table tr td),
255
+ # attributes: %w(id class style),
256
+ # )
257
+ #
258
+ # # sanitize via a custom Loofah scrubber
259
+ # safe_list_sanitizer.sanitize(@article.body, scrubber: ArticleScrubber.new)
260
+ #
261
+ # # prune nodes from the tree instead of stripping tags and leaving inner content
262
+ # safe_list_sanitizer = Rails::HTML4::SafeListSanitizer.new(prune: true)
263
+ #
264
+ # # the sanitizer can also sanitize CSS
265
+ # safe_list_sanitizer.sanitize_css('background-color: #000;')
266
+ #
267
+ # source://rails-html-sanitizer//lib/rails/html/sanitizer.rb#297
268
+ class Rails::HTML4::SafeListSanitizer < ::Rails::HTML::Sanitizer
269
+ include ::Rails::HTML::Concern::ComposedSanitize
270
+ include ::Rails::HTML::Concern::Parser::HTML4
271
+ include ::Rails::HTML::Concern::Scrubber::SafeList
272
+ include ::Rails::HTML::Concern::Serializer::UTF8Encode
273
+
274
+ class << self
275
+ # source://rails-html-sanitizer//lib/rails/html/sanitizer.rb#144
276
+ def allowed_attributes; end
277
+
278
+ # source://rails-html-sanitizer//lib/rails/html/sanitizer.rb#144
279
+ def allowed_attributes=(_arg0); end
280
+
281
+ # source://rails-html-sanitizer//lib/rails/html/sanitizer.rb#143
282
+ def allowed_tags; end
283
+
284
+ # source://rails-html-sanitizer//lib/rails/html/sanitizer.rb#143
285
+ def allowed_tags=(_arg0); end
286
+ end
287
+ end
288
+
289
+ # source://rails-html-sanitizer//lib/rails/html/sanitizer.rb#194
290
+ module Rails::HTML4::Sanitizer
291
+ extend ::Rails::HTML4::Sanitizer::VendorMethods
292
+ end
293
+
294
+ # source://rails-html-sanitizer//lib/rails/html/sanitizer.rb#195
295
+ module Rails::HTML4::Sanitizer::VendorMethods
296
+ # source://rails-html-sanitizer//lib/rails/html/sanitizer.rb#196
297
+ def full_sanitizer; end
298
+
299
+ # source://rails-html-sanitizer//lib/rails/html/sanitizer.rb#200
300
+ def link_sanitizer; end
301
+
302
+ # source://rails-html-sanitizer//lib/rails/html/sanitizer.rb#204
303
+ def safe_list_sanitizer; end
304
+
305
+ # source://rails-html-sanitizer//lib/rails/html/sanitizer.rb#208
306
+ def white_list_sanitizer; end
307
+ end
308
+
309
+ # source://rails-html-sanitizer//lib/rails/html/sanitizer.rb#305
310
+ module Rails::HTML5; end
311
+
312
+ # == Rails::HTML5::FullSanitizer
313
+ #
314
+ # Removes all tags from HTML5 but strips out scripts, forms and comments.
315
+ #
316
+ # full_sanitizer = Rails::HTML5::FullSanitizer.new
317
+ # full_sanitizer.sanitize("<b>Bold</b> no more! <a href='more.html'>See more here</a>...")
318
+ # # => "Bold no more! See more here..."
319
+ #
320
+ # source://rails-html-sanitizer//lib/rails/html/sanitizer.rb#334
321
+ class Rails::HTML5::FullSanitizer < ::Rails::HTML::Sanitizer
322
+ include ::Rails::HTML::Concern::ComposedSanitize
323
+ include ::Rails::HTML::Concern::Parser::HTML5
324
+ include ::Rails::HTML::Concern::Scrubber::Full
325
+ include ::Rails::HTML::Concern::Serializer::UTF8Encode
326
+ end
327
+
328
+ # == Rails::HTML5::LinkSanitizer
329
+ #
330
+ # Removes +a+ tags and +href+ attributes from HTML5 leaving only the link text.
331
+ #
332
+ # link_sanitizer = Rails::HTML5::LinkSanitizer.new
333
+ # link_sanitizer.sanitize('<a href="example.com">Only the link text will be kept.</a>')
334
+ # # => "Only the link text will be kept."
335
+ #
336
+ # source://rails-html-sanitizer//lib/rails/html/sanitizer.rb#349
337
+ class Rails::HTML5::LinkSanitizer < ::Rails::HTML::Sanitizer
338
+ include ::Rails::HTML::Concern::ComposedSanitize
339
+ include ::Rails::HTML::Concern::Parser::HTML5
340
+ include ::Rails::HTML::Concern::Scrubber::Link
341
+ include ::Rails::HTML::Concern::Serializer::UTF8Encode
342
+ end
343
+
344
+ # == Rails::HTML5::SafeListSanitizer
345
+ #
346
+ # Sanitizes HTML5 and CSS from an extensive safe list.
347
+ #
348
+ # === Whitespace
349
+ #
350
+ # We can't make any guarantees about whitespace being kept or stripped. Loofah uses Nokogiri,
351
+ # which wraps either a C or Java parser for the respective Ruby implementation. Those two
352
+ # parsers determine how whitespace is ultimately handled.
353
+ #
354
+ # When the stripped markup will be rendered the users browser won't take whitespace into account
355
+ # anyway. It might be better to suggest your users wrap their whitespace sensitive content in
356
+ # pre tags or that you do so automatically.
357
+ #
358
+ # === Options
359
+ #
360
+ # Sanitizes both html and css via the safe lists found in
361
+ # Rails::HTML::Concern::Scrubber::SafeList
362
+ #
363
+ # SafeListSanitizer also accepts options to configure the safe list used when sanitizing html.
364
+ # There's a class level option:
365
+ #
366
+ # Rails::HTML5::SafeListSanitizer.allowed_tags = %w(table tr td)
367
+ # Rails::HTML5::SafeListSanitizer.allowed_attributes = %w(id class style)
368
+ #
369
+ # Tags and attributes can also be passed to +sanitize+. Passed options take precedence over the
370
+ # class level options.
371
+ #
372
+ # === Examples
373
+ #
374
+ # safe_list_sanitizer = Rails::HTML5::SafeListSanitizer.new
375
+ #
376
+ # # default: sanitize via a extensive safe list of allowed elements
377
+ # safe_list_sanitizer.sanitize(@article.body)
378
+ #
379
+ # # sanitize via the supplied tags and attributes
380
+ # safe_list_sanitizer.sanitize(
381
+ # @article.body,
382
+ # tags: %w(table tr td),
383
+ # attributes: %w(id class style),
384
+ # )
385
+ #
386
+ # # sanitize via a custom Loofah scrubber
387
+ # safe_list_sanitizer.sanitize(@article.body, scrubber: ArticleScrubber.new)
388
+ #
389
+ # # prune nodes from the tree instead of stripping tags and leaving inner content
390
+ # safe_list_sanitizer = Rails::HTML5::SafeListSanitizer.new(prune: true)
391
+ #
392
+ # # the sanitizer can also sanitize CSS
393
+ # safe_list_sanitizer.sanitize_css('background-color: #000;')
394
+ #
395
+ # source://rails-html-sanitizer//lib/rails/html/sanitizer.rb#407
396
+ class Rails::HTML5::SafeListSanitizer < ::Rails::HTML::Sanitizer
397
+ include ::Rails::HTML::Concern::ComposedSanitize
398
+ include ::Rails::HTML::Concern::Parser::HTML5
399
+ include ::Rails::HTML::Concern::Scrubber::SafeList
400
+ include ::Rails::HTML::Concern::Serializer::UTF8Encode
401
+
402
+ class << self
403
+ # source://rails-html-sanitizer//lib/rails/html/sanitizer.rb#144
404
+ def allowed_attributes; end
405
+
406
+ # source://rails-html-sanitizer//lib/rails/html/sanitizer.rb#144
407
+ def allowed_attributes=(_arg0); end
408
+
409
+ # source://rails-html-sanitizer//lib/rails/html/sanitizer.rb#143
410
+ def allowed_tags; end
411
+
412
+ # source://rails-html-sanitizer//lib/rails/html/sanitizer.rb#143
413
+ def allowed_tags=(_arg0); end
414
+ end
415
+ end
416
+
417
+ # source://rails-html-sanitizer//lib/rails/html/sanitizer.rb#306
418
+ class Rails::HTML5::Sanitizer
419
+ class << self
420
+ # source://rails-html-sanitizer//lib/rails/html/sanitizer.rb#308
421
+ def full_sanitizer; end
422
+
423
+ # source://rails-html-sanitizer//lib/rails/html/sanitizer.rb#312
424
+ def link_sanitizer; end
425
+
426
+ # source://rails-html-sanitizer//lib/rails/html/sanitizer.rb#316
427
+ def safe_list_sanitizer; end
428
+
429
+ # source://rails-html-sanitizer//lib/rails/html/sanitizer.rb#320
430
+ def white_list_sanitizer; end
431
+ end
432
+ end
433
+
434
+ # source://rails-html-sanitizer//lib/rails/html/sanitizer.rb#33
435
+ module Rails::HTML::Concern; end
436
+
437
+ # source://rails-html-sanitizer//lib/rails/html/sanitizer.rb#34
438
+ module Rails::HTML::Concern::ComposedSanitize
439
+ # source://rails-html-sanitizer//lib/rails/html/sanitizer.rb#35
440
+ def sanitize(html, options = T.unsafe(nil)); end
441
+ end
442
+
443
+ # source://rails-html-sanitizer//lib/rails/html/sanitizer.rb#43
444
+ module Rails::HTML::Concern::Parser; end
445
+
446
+ # source://rails-html-sanitizer//lib/rails/html/sanitizer.rb#44
447
+ module Rails::HTML::Concern::Parser::HTML4
448
+ # source://rails-html-sanitizer//lib/rails/html/sanitizer.rb#45
449
+ def parse_fragment(html); end
450
+ end
451
+
452
+ # source://rails-html-sanitizer//lib/rails/html/sanitizer.rb#50
453
+ module Rails::HTML::Concern::Parser::HTML5
454
+ # source://rails-html-sanitizer//lib/rails/html/sanitizer.rb#51
455
+ def parse_fragment(html); end
456
+ end
457
+
458
+ # source://rails-html-sanitizer//lib/rails/html/sanitizer.rb#57
459
+ module Rails::HTML::Concern::Scrubber; end
460
+
461
+ # source://rails-html-sanitizer//lib/rails/html/sanitizer.rb#58
462
+ module Rails::HTML::Concern::Scrubber::Full
463
+ # source://rails-html-sanitizer//lib/rails/html/sanitizer.rb#59
464
+ def scrub(fragment, options = T.unsafe(nil)); end
465
+ end
466
+
467
+ # source://rails-html-sanitizer//lib/rails/html/sanitizer.rb#64
468
+ module Rails::HTML::Concern::Scrubber::Link
469
+ # source://rails-html-sanitizer//lib/rails/html/sanitizer.rb#65
470
+ def initialize; end
471
+
472
+ # source://rails-html-sanitizer//lib/rails/html/sanitizer.rb#72
473
+ def scrub(fragment, options = T.unsafe(nil)); end
474
+ end
475
+
476
+ # source://rails-html-sanitizer//lib/rails/html/sanitizer.rb#77
477
+ module Rails::HTML::Concern::Scrubber::SafeList
478
+ # source://rails-html-sanitizer//lib/rails/html/sanitizer.rb#151
479
+ def initialize(prune: T.unsafe(nil)); end
480
+
481
+ # source://rails-html-sanitizer//lib/rails/html/sanitizer.rb#168
482
+ def sanitize_css(style_string); end
483
+
484
+ # source://rails-html-sanitizer//lib/rails/html/sanitizer.rb#155
485
+ def scrub(fragment, options = T.unsafe(nil)); end
486
+
487
+ private
488
+
489
+ # source://rails-html-sanitizer//lib/rails/html/sanitizer.rb#177
490
+ def allowed_attributes(options); end
491
+
492
+ # source://rails-html-sanitizer//lib/rails/html/sanitizer.rb#173
493
+ def allowed_tags(options); end
494
+
495
+ class << self
496
+ # @private
497
+ #
498
+ # source://rails-html-sanitizer//lib/rails/html/sanitizer.rb#141
499
+ def included(klass); end
500
+ end
501
+ end
502
+
503
+ # The default safe list for attributes
504
+ #
505
+ # source://rails-html-sanitizer//lib/rails/html/sanitizer.rb#125
506
+ Rails::HTML::Concern::Scrubber::SafeList::DEFAULT_ALLOWED_ATTRIBUTES = T.let(T.unsafe(nil), Set)
507
+
508
+ # The default safe list for tags
509
+ #
510
+ # source://rails-html-sanitizer//lib/rails/html/sanitizer.rb#79
511
+ Rails::HTML::Concern::Scrubber::SafeList::DEFAULT_ALLOWED_TAGS = T.let(T.unsafe(nil), Set)
512
+
513
+ # source://rails-html-sanitizer//lib/rails/html/sanitizer.rb#183
514
+ module Rails::HTML::Concern::Serializer; end
515
+
516
+ # source://rails-html-sanitizer//lib/rails/html/sanitizer.rb#184
517
+ module Rails::HTML::Concern::Serializer::UTF8Encode
518
+ # source://rails-html-sanitizer//lib/rails/html/sanitizer.rb#185
519
+ def serialize(fragment); end
520
+ end
521
+
522
+ # source://rails-html-sanitizer//lib/rails/html/sanitizer.rb#417
523
+ Rails::HTML::FullSanitizer = Rails::HTML4::FullSanitizer
524
+
525
+ # source://rails-html-sanitizer//lib/rails/html/sanitizer.rb#418
526
+ Rails::HTML::LinkSanitizer = Rails::HTML4::LinkSanitizer
527
+
528
+ # === Rails::HTML::PermitScrubber
529
+ #
530
+ # +Rails::HTML::PermitScrubber+ allows you to permit only your own tags and/or attributes.
531
+ #
532
+ # +Rails::HTML::PermitScrubber+ can be subclassed to determine:
533
+ # - When a node should be skipped via +skip_node?+.
534
+ # - When a node is allowed via +allowed_node?+.
535
+ # - When an attribute should be scrubbed via +scrub_attribute?+.
536
+ #
537
+ # Subclasses don't need to worry if tags or attributes are set or not.
538
+ # If tags or attributes are not set, Loofah's behavior will be used.
539
+ # If you override +allowed_node?+ and no tags are set, it will not be called.
540
+ # Instead Loofahs behavior will be used.
541
+ # Likewise for +scrub_attribute?+ and attributes respectively.
542
+ #
543
+ # Text and CDATA nodes are skipped by default.
544
+ # Unallowed elements will be stripped, i.e. element is removed but its subtree kept.
545
+ # Supplied tags and attributes should be Enumerables.
546
+ #
547
+ # +tags=+
548
+ # If set, elements excluded will be stripped.
549
+ # If not, elements are stripped based on Loofahs +HTML5::Scrub.allowed_element?+.
550
+ #
551
+ # +attributes=+
552
+ # If set, attributes excluded will be removed.
553
+ # If not, attributes are removed based on Loofahs +HTML5::Scrub.scrub_attributes+.
554
+ #
555
+ # class CommentScrubber < Rails::HTML::PermitScrubber
556
+ # def initialize
557
+ # super
558
+ # self.tags = %w(form script comment blockquote)
559
+ # end
560
+ #
561
+ # def skip_node?(node)
562
+ # node.text?
563
+ # end
564
+ #
565
+ # def scrub_attribute?(name)
566
+ # name == "style"
567
+ # end
568
+ # end
569
+ #
570
+ # See the documentation for +Nokogiri::XML::Node+ to understand what's possible
571
+ # with nodes: https://nokogiri.org/rdoc/Nokogiri/XML/Node.html
572
+ #
573
+ # source://rails-html-sanitizer//lib/rails/html/scrubbers.rb#49
574
+ class Rails::HTML::PermitScrubber < ::Loofah::Scrubber
575
+ # @return [PermitScrubber] a new instance of PermitScrubber
576
+ #
577
+ # source://rails-html-sanitizer//lib/rails/html/scrubbers.rb#52
578
+ def initialize(prune: T.unsafe(nil)); end
579
+
580
+ # Returns the value of attribute attributes.
581
+ #
582
+ # source://rails-html-sanitizer//lib/rails/html/scrubbers.rb#50
583
+ def attributes; end
584
+
585
+ # source://rails-html-sanitizer//lib/rails/html/scrubbers.rb#62
586
+ def attributes=(attributes); end
587
+
588
+ # Returns the value of attribute prune.
589
+ #
590
+ # source://rails-html-sanitizer//lib/rails/html/scrubbers.rb#50
591
+ def prune; end
592
+
593
+ # source://rails-html-sanitizer//lib/rails/html/scrubbers.rb#66
594
+ def scrub(node); end
595
+
596
+ # Returns the value of attribute tags.
597
+ #
598
+ # source://rails-html-sanitizer//lib/rails/html/scrubbers.rb#50
599
+ def tags; end
600
+
601
+ # source://rails-html-sanitizer//lib/rails/html/scrubbers.rb#58
602
+ def tags=(tags); end
603
+
604
+ protected
605
+
606
+ # @return [Boolean]
607
+ #
608
+ # source://rails-html-sanitizer//lib/rails/html/scrubbers.rb#82
609
+ def allowed_node?(node); end
610
+
611
+ # @return [Boolean]
612
+ #
613
+ # source://rails-html-sanitizer//lib/rails/html/scrubbers.rb#94
614
+ def keep_node?(node); end
615
+
616
+ # source://rails-html-sanitizer//lib/rails/html/scrubbers.rb#136
617
+ def scrub_attribute(node, attr_node); end
618
+
619
+ # @return [Boolean]
620
+ #
621
+ # source://rails-html-sanitizer//lib/rails/html/scrubbers.rb#90
622
+ def scrub_attribute?(name); end
623
+
624
+ # source://rails-html-sanitizer//lib/rails/html/scrubbers.rb#107
625
+ def scrub_attributes(node); end
626
+
627
+ # source://rails-html-sanitizer//lib/rails/html/scrubbers.rb#120
628
+ def scrub_css_attribute(node); end
629
+
630
+ # source://rails-html-sanitizer//lib/rails/html/scrubbers.rb#102
631
+ def scrub_node(node); end
632
+
633
+ # @return [Boolean]
634
+ #
635
+ # source://rails-html-sanitizer//lib/rails/html/scrubbers.rb#86
636
+ def skip_node?(node); end
637
+
638
+ # source://rails-html-sanitizer//lib/rails/html/scrubbers.rb#129
639
+ def validate!(var, name); end
640
+ end
641
+
642
+ # source://rails-html-sanitizer//lib/rails/html/sanitizer.rb#419
643
+ Rails::HTML::SafeListSanitizer = Rails::HTML4::SafeListSanitizer
644
+
645
+ # source://rails-html-sanitizer//lib/rails/html/sanitizer/version.rb#5
646
+ class Rails::HTML::Sanitizer
647
+ extend ::Rails::HTML4::Sanitizer::VendorMethods
648
+
649
+ # @raise [NotImplementedError]
650
+ #
651
+ # source://rails-html-sanitizer//lib/rails/html/sanitizer.rb#18
652
+ def sanitize(html, options = T.unsafe(nil)); end
653
+
654
+ private
655
+
656
+ # source://rails-html-sanitizer//lib/rails/html/sanitizer.rb#28
657
+ def properly_encode(fragment, options); end
658
+
659
+ # source://rails-html-sanitizer//lib/rails/html/sanitizer.rb#23
660
+ def remove_xpaths(node, xpaths); end
661
+
662
+ class << self
663
+ # source://rails-html-sanitizer//lib/rails/html/sanitizer.rb#13
664
+ def best_supported_vendor; end
665
+
666
+ # @return [Boolean]
667
+ #
668
+ # source://rails-html-sanitizer//lib/rails/html/sanitizer.rb#7
669
+ def html5_support?; end
670
+ end
671
+ end
672
+
673
+ # source://rails-html-sanitizer//lib/rails/html/sanitizer/version.rb#6
674
+ Rails::HTML::Sanitizer::VERSION = T.let(T.unsafe(nil), String)
675
+
676
+ # === Rails::HTML::TargetScrubber
677
+ #
678
+ # Where +Rails::HTML::PermitScrubber+ picks out tags and attributes to permit in
679
+ # sanitization, +Rails::HTML::TargetScrubber+ targets them for removal.
680
+ #
681
+ # +tags=+
682
+ # If set, elements included will be stripped.
683
+ #
684
+ # +attributes=+
685
+ # If set, attributes included will be removed.
686
+ #
687
+ # source://rails-html-sanitizer//lib/rails/html/scrubbers.rb#171
688
+ class Rails::HTML::TargetScrubber < ::Rails::HTML::PermitScrubber
689
+ # @return [Boolean]
690
+ #
691
+ # source://rails-html-sanitizer//lib/rails/html/scrubbers.rb#172
692
+ def allowed_node?(node); end
693
+
694
+ # @return [Boolean]
695
+ #
696
+ # source://rails-html-sanitizer//lib/rails/html/scrubbers.rb#176
697
+ def scrub_attribute?(name); end
698
+ end
699
+
700
+ # === Rails::HTML::TextOnlyScrubber
701
+ #
702
+ # +Rails::HTML::TextOnlyScrubber+ allows you to permit text nodes.
703
+ #
704
+ # Unallowed elements will be stripped, i.e. element is removed but its subtree kept.
705
+ #
706
+ # source://rails-html-sanitizer//lib/rails/html/scrubbers.rb#186
707
+ class Rails::HTML::TextOnlyScrubber < ::Loofah::Scrubber
708
+ # @return [TextOnlyScrubber] a new instance of TextOnlyScrubber
709
+ #
710
+ # source://rails-html-sanitizer//lib/rails/html/scrubbers.rb#187
711
+ def initialize; end
712
+
713
+ # source://rails-html-sanitizer//lib/rails/html/scrubbers.rb#191
714
+ def scrub(node); end
715
+ end
716
+
717
+ # source://rails-html-sanitizer//lib/rails/html/sanitizer.rb#420
718
+ Rails::HTML::WhiteListSanitizer = Rails::HTML4::SafeListSanitizer
719
+
720
+ # source://rails-html-sanitizer//lib/rails-html-sanitizer.rb#11
721
+ Rails::Html = Rails::HTML