File: //usr/local/rvm/gems/ruby-3.0.2/doc/loofah-2.12.0/ri/Loofah/Scrubber/cdesc-Scrubber.ri
U:RDoc::NormalClass[iI"
Scrubber:ETI"Loofah::Scrubber;TI"Object;To:RDoc::Markup::Document:@parts[o;;[o:RDoc::Markup::Paragraph;[I"SA Scrubber wraps up a block (or method) that is run on an HTML node (element):;To:RDoc::Markup::BlankLine o:RDoc::Markup::Verbatim;[ I",# change all <span> tags to <div> tags
;TI"/span2div = Loofah::Scrubber.new do |node|
;TI"0 node.name = "div" if node.name == "span"
;TI" end
;T:@format0o; ;[I"AAlternatively, this scrubber could have been implemented as:;T@o;;[I"'class Span2Div < Loofah::Scrubber
;TI" def scrub(node)
;TI"2 node.name = "div" if node.name == "span"
;TI" end
;TI" end
;TI"span2div = Span2Div.new
;T;0o; ;[I"(This can then be run on a document:;T@o;;[I"ILoofah.fragment("<span>foo</span><p>bar</p>").scrub!(span2div).to_s
;TI"%# => "<div>foo</div><p>bar</p>"
;T;0o; ;[I"LScrubbers can be run on a document in either a top-down traversal (the ;TI"Edefault) or bottom-up. Top-down scrubbers can optionally return ;TI"<Scrubber::STOP to terminate the traversal of a subtree.;T:
@fileI"lib/loofah/scrubber.rb;T:0@omit_headings_from_table_of_contents_below0;
0;0[[
I"
block;TI"R;T:publicFI"lib/loofah/scrubber.rb;T[
I"direction;T@3;F@4[U:RDoc::Constant[i I"
CONTINUE;TI"Loofah::Scrubber::CONTINUE;T;0o;;[o; ;[I"]Top-down Scrubbers may return CONTINUE to indicate that the subtree should be traversed.;T;
@/;0@/@cRDoc::NormalClass0U;[i I" STOP;TI"Loofah::Scrubber::STOP;T;0o;;[o; ;[I"]Top-down Scrubbers may return STOP to indicate that the subtree should not be traversed.;T;
@/;0@/@@A0[ [[I"
class;T[[;[[I"new;T@4[:protected[ [:private[ [I"
instance;T[[;[[I"append_attribute;T@4[I"
scrub;T@4[I"
traverse;T@4[;[ [;[[I"html5lib_sanitize;T@4[I"%traverse_conditionally_bottom_up;T@4[I"$traverse_conditionally_top_down;T@4[ [U:RDoc::Context::Section[i 0o;;[ ;
0;0[@/I"Loofah;TcRDoc::NormalModule