Module: Muddle::Filter::BoilerplateAttributes

Defined in:
lib/muddle/filter/boilerplate_attributes.rb

Class Method Summary collapse

Class Method Details

.ensure_node_includes(doc, element_selector, attribute, default_value) ⇒ Object



19
20
21
22
23
# File 'lib/muddle/filter/boilerplate_attributes.rb', line 19

def self.ensure_node_includes(doc, element_selector, attribute, default_value)
  doc.search("#{element_selector}:not([@#{attribute}])").each do |node|
    node.attributes[attribute] = default_value
  end
end

.filter(body_string) ⇒ Object



4
5
6
7
8
9
10
11
12
13
14
15
16
17
# File 'lib/muddle/filter/boilerplate_attributes.rb', line 4

def self.filter(body_string)
  doc = Hpricot(body_string)

  ensure_node_includes(doc, 'table', 'cellpadding', '0')
  ensure_node_includes(doc, 'table', 'cellspacing', '0')
  ensure_node_includes(doc, 'table', 'border', '0')
  ensure_node_includes(doc, 'table', 'align', 'center')

  ensure_node_includes(doc, 'td', 'valign', 'top')

  ensure_node_includes(doc, 'a', 'target', '_blank')

  doc.to_html
end