Sha256: 71acd1a7e5521254e75ef7399f3115bbc150de6842db9b8f70451c6283bb7320

Contents?: true

Size: 966 Bytes

Versions: 21

Compression:

Stored size: 966 Bytes

Contents

require 'tidy'
require "rexml/document"

module RailsConnector
  module FopOnRails
    module Document # :nodoc: all
      module DomTree
        TIDY_CONF = {
          'clean' => true,
          'doctype' => 'omit',
          'output-xhtml' => true,
          'numeric-entities' => true,
          'drop-font-tags' => true,
          'enclose-block-text' => true,
          'char-encoding' => 'utf8'
        }

        def self.repair(data)
          xml = REXML::Document.new(tidy(data))
          clean_namespace(xml)
          return xml
        end

        private

        def self.tidy(data)
          %w(dylib so).each do |ext|
            if File.exist?(path = "/usr/lib/libtidy.#{ext}")
              Tidy.path = path
              break
            end
          end
          Tidy.open(TIDY_CONF) { |tidy| tidy.clean(data) }
        end

        def self.clean_namespace(xml)
          xml.root.delete_namespace
        end
      end
    end
  end
end

Version data entries

21 entries across 21 versions & 1 rubygems

Version Path
infopark_rails_connector-6.8.0.210.ed204b0 lib/rails_connector/fop_on_rails/document/dom_tree.rb
infopark_rails_connector-6.8.0.110.6570b45 lib/rails_connector/fop_on_rails/document/dom_tree.rb
infopark_rails_connector-6.8.0.72.d18d096 lib/rails_connector/fop_on_rails/document/dom_tree.rb
infopark_rails_connector-6.8.0.23.da7f96b lib/rails_connector/fop_on_rails/document/dom_tree.rb
infopark_rails_connector-6.8.0.16.def5e85 lib/rails_connector/fop_on_rails/document/dom_tree.rb
infopark_rails_connector-6.8.0.15.a24f5ff lib/rails_connector/fop_on_rails/document/dom_tree.rb
infopark_rails_connector-6.8.0.beta.200.891.647580e lib/rails_connector/fop_on_rails/document/dom_tree.rb
infopark_rails_connector-6.8.0.beta.200.889.d503e42 lib/rails_connector/fop_on_rails/document/dom_tree.rb
infopark_rails_connector-6.8.0.beta.200.883.f5f063b lib/rails_connector/fop_on_rails/document/dom_tree.rb
infopark_rails_connector-6.8.0.beta.200.884.4bd86e6 lib/rails_connector/fop_on_rails/document/dom_tree.rb
infopark_rails_connector-6.8.0.beta.200.869.9609b39 lib/rails_connector/fop_on_rails/document/dom_tree.rb
infopark_rails_connector-6.8.0.beta.200.856.8c0fec5 lib/rails_connector/fop_on_rails/document/dom_tree.rb
infopark_rails_connector-6.8.0.beta.200.809.bdfa8c3 lib/rails_connector/fop_on_rails/document/dom_tree.rb
infopark_rails_connector-6.8.0.beta.200.785.05d4af9 lib/rails_connector/fop_on_rails/document/dom_tree.rb
infopark_rails_connector-6.8.0.beta.200.744.99f67fc lib/rails_connector/fop_on_rails/document/dom_tree.rb
infopark_rails_connector-6.8.0.beta.200.720.44fbabd lib/rails_connector/fop_on_rails/document/dom_tree.rb
infopark_rails_connector-6.8.0.beta.200.713.e5c3150 lib/rails_connector/fop_on_rails/document/dom_tree.rb
infopark_rails_connector-6.8.0.beta.200.681.7c84f4a lib/rails_connector/fop_on_rails/document/dom_tree.rb
infopark_rails_connector-6.8.0.beta.200.663.ceecdee lib/rails_connector/fop_on_rails/document/dom_tree.rb
infopark_rails_connector-6.8.0.beta.200.650.7c93155 lib/rails_connector/fop_on_rails/document/dom_tree.rb