Class: Polymer::Rails::XmlAdapters::Nokogiri
- Defined in:
- lib/polymer-rails/xml_adapters/nokogiri.rb
Constant Summary collapse
- XML_OPTIONS =
XML options for to_xml method
{ save_with: ::Nokogiri::XML::Node::SaveOptions::NO_EMPTY_TAGS }
- XML_NODES =
Nodes that should be parsed as XML nodes
['*[selected]', '*[checked]', '*[src]:not(script)']
Constants inherited from Base
Instance Method Summary collapse
- #create_node(doc, name, content) ⇒ Object
- #css_select(doc, selector) ⇒ Object
- #parse_document(data) ⇒ Object
- #replace_node(old_node, new_node) ⇒ Object
- #stringify(doc) ⇒ Object
Methods inherited from Base
Instance Method Details
#create_node(doc, name, content) ⇒ Object
19 20 21 22 23 |
# File 'lib/polymer-rails/xml_adapters/nokogiri.rb', line 19 def create_node doc, name, content node = ::Nokogiri::XML::Node.new(name, doc) node.content = content node end |
#css_select(doc, selector) ⇒ Object
35 36 37 |
# File 'lib/polymer-rails/xml_adapters/nokogiri.rb', line 35 def css_select doc, selector doc.css selector end |
#parse_document(data) ⇒ Object
15 16 17 |
# File 'lib/polymer-rails/xml_adapters/nokogiri.rb', line 15 def parse_document data ::Nokogiri::HTML5 data end |
#replace_node(old_node, new_node) ⇒ Object
25 26 27 |
# File 'lib/polymer-rails/xml_adapters/nokogiri.rb', line 25 def replace_node old_node, new_node old_node.replace new_node end |
#stringify(doc) ⇒ Object
29 30 31 32 33 |
# File 'lib/polymer-rails/xml_adapters/nokogiri.rb', line 29 def stringify doc xml_nodes(doc).reduce(to_html(doc)) do |output, node| output.gsub(node.to_html, node.to_xml(XML_OPTIONS)).encode(ENCODING) end end |