Sha256: e0a59df43d48b2bbbf2881102bd1b7949eb63bdb7776357371a2e016042f36b0

Contents?: true

Size: 1.01 KB

Versions: 10

Compression:

Stored size: 1.01 KB

Contents

require 'ostruct'
require 'jar_dependencies'
require_jar 'org.jsoup', 'jsoup', '1.8.3' 

module Polymer
  module Rails
    module XmlAdapters
      class Jsoup < Base

        def parse_document data
          doc = org.jsoup.Jsoup.parse_body_fragment(data)
          doc.output_settings.charset(ENCODING)
          doc
        end

        def create_node doc, name, content
          node = doc.create_element(name)
          datanode = org.jsoup.nodes.DataNode.new(content, doc.base_uri)
          node.append_child datanode
          node
        end

        def stringify doc
          doc.select('body').html
        end

        def replace_node old_node, new_node
          old_node.replace_with new_node
        end

        def css_select doc, selector
          doc.select selector.gsub('\'', '')
        end
          
      end
    end
  end
end

Java::OrgJsoupNodes::Attributes.class_eval do
  def [] name
    OpenStruct.new value: get(name)
  end
end

Java::OrgJsoupNodes::Element.class_eval do
  alias name nodeName
end

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
polymer-rails-1.3.0 lib/polymer-rails/xml_adapters/jsoup.rb
polymer-rails-1.2.4.1 lib/polymer-rails/xml_adapters/jsoup.rb
polymer-rails-1.2.4 lib/polymer-rails/xml_adapters/jsoup.rb
polymer-rails-1.2.3 lib/polymer-rails/xml_adapters/jsoup.rb
polymer-rails-1.2.2 lib/polymer-rails/xml_adapters/jsoup.rb
polymer-rails-1.2.1 lib/polymer-rails/xml_adapters/jsoup.rb
polymer-rails-1.2.0 lib/polymer-rails/xml_adapters/jsoup.rb
polymer-rails-1.1.5 lib/polymer-rails/xml_adapters/jsoup.rb
polymer-rails-1.1.2 lib/polymer-rails/xml_adapters/jsoup.rb
polymer-rails-1.1.1 lib/polymer-rails/xml_adapters/jsoup.rb