1
0
Fork 0
mirror of https://github.com/rails/rails.git synced 2022-11-09 12:12:34 -05:00

Properly set up libxml includes. Don't include LibXML in toplevel.

[#2084 state:resolved]
This commit is contained in:
Jeremy Kemper 2009-03-10 11:36:25 -07:00
parent e609d83f1a
commit d4091d3bc7

View file

@ -1,4 +1,6 @@
# = XML Mini Libxml implementation
require 'libxml'
# = XmlMini LibXML implementation
module ActiveSupport
module XmlMini_LibXML #:nodoc:
extend self
@ -7,19 +9,19 @@ module ActiveSupport
# string::
# XML Document string to parse
def parse(string)
XML.default_keep_blanks = false
LibXML::XML.default_keep_blanks = false
if string.blank?
{}
else
XML::Parser.string(string.strip).parse.to_hash
LibXML::XML::Parser.string(string.strip).parse.to_hash
end
end
end
end
module XML
module LibXML
module Conversions
module Document
def to_hash
@ -37,7 +39,7 @@ module XML
# Hash to merge the converted element into.
def to_hash(hash={})
if text?
raise RuntimeError if content.length >= LIB_XML_LIMIT
raise LibXML::XML::Error if content.length >= LIB_XML_LIMIT
hash[CONTENT_ROOT] = content
else
sub_hash = insert_name_into_hash(hash, name)
@ -127,5 +129,5 @@ module XML
end
end
XML::Document.send(:include, XML::Conversions::Document)
XML::Node.send(:include, XML::Conversions::Node)
LibXML::XML::Document.send(:include, LibXML::Conversions::Document)
LibXML::XML::Node.send(:include, LibXML::Conversions::Node)