lib/reverse_markdown.rb in reverse_markdown-1.3.0 vs lib/reverse_markdown.rb in reverse_markdown-1.4.0

- old
+ new

@@ -1,6 +1,5 @@ -require 'digest' require 'nokogiri' require 'reverse_markdown/version' require 'reverse_markdown/errors' require 'reverse_markdown/cleaner' require 'reverse_markdown/config' @@ -31,18 +30,20 @@ require 'reverse_markdown/converters/tr' module ReverseMarkdown def self.convert(input, options = {}) - root = case input - when String then Nokogiri::HTML(input).root - when Nokogiri::XML::Document then input.root - when Nokogiri::XML::Node then input - end + config.with(options) do + input = cleaner.force_encoding(input.to_s) - root or return '' + root = case input + when String then Nokogiri::HTML(input).root + when Nokogiri::XML::Document then input.root + when Nokogiri::XML::Node then input + end - config.with(options) do + root or return '' + result = ReverseMarkdown::Converters.lookup(root.name).convert(root) cleaner.tidy(result) end end