Sha256: d5201395acc309db3d2ea1860d2615e88e6732a34feed544cbdfc1c23aca81d1

Contents?: true

Size: 952 Bytes

Versions: 9

Compression:

Stored size: 952 Bytes

Contents

require 'tidy'
require "rexml/document"

module RailsConnector
  module FopOnRails
    module Document
      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

9 entries across 9 versions & 1 rubygems

Version Path
infopark_rails_connector-6.8.0.515.34928522 lib/rails_connector/fop_on_rails/document/dom_tree.rb
infopark_rails_connector-6.8.0.498.46559598 lib/rails_connector/fop_on_rails/document/dom_tree.rb
infopark_rails_connector-6.8.0.480.261594408 lib/rails_connector/fop_on_rails/document/dom_tree.rb
infopark_rails_connector-6.8.0.444.171626367 lib/rails_connector/fop_on_rails/document/dom_tree.rb
infopark_rails_connector-6.8.0.406.131718077 lib/rails_connector/fop_on_rails/document/dom_tree.rb
infopark_rails_connector-6.8.0.356.19698103 lib/rails_connector/fop_on_rails/document/dom_tree.rb
infopark_rails_connector-6.8.0.348.160665197 lib/rails_connector/fop_on_rails/document/dom_tree.rb
infopark_rails_connector-6.8.0.328.4a753fc lib/rails_connector/fop_on_rails/document/dom_tree.rb
infopark_rails_connector-6.8.0.322.c003f11 lib/rails_connector/fop_on_rails/document/dom_tree.rb