Methods

FeedNormalizer::ElementCleaner

Public Instance Methods

clean!() click to toggle source

Recursively cleans all elements in place.

Only allow tags in whitelist. Always parse the html with a parser and delete all tags that arent on the list.

For feed elements that can contain HTML:

  • feed.(title|description)

  • feed.entries[n].(title|description|content)

     # File lib/structures.rb, line 100
100:     def clean!
101:       self.class::SIMPLE_ELEMENTS.each do |element|
102:         val = self.send(element)
103: 
104:         send("#{element}=", (val.is_a?(Array) ?
105:           val.collect{|v| HtmlCleaner.flatten(v.to_s)} : HtmlCleaner.flatten(val.to_s)))
106:       end
107: 
108:       self.class::HTML_ELEMENTS.each do |element|
109:         send("#{element}=", HtmlCleaner.clean(self.send(element).to_s))
110:       end
111: 
112:       self.class::BLENDED_ELEMENTS.each do |element|
113:         self.send(element).collect{|v| v.clean!}
114:       end
115:     end

Disabled; run with --debug to generate this.

[Validate]

Generated with the Darkfish Rdoc Generator 1.1.6.