lib/happymapper.rb in happymapper-0.1.4 vs lib/happymapper.rb in happymapper-0.1.6

- old
+ new

@@ -3,11 +3,11 @@ require 'date' require 'time' require 'rubygems' -gem 'libxml-ruby', '>= 0.8.3' +gem 'libxml-ruby', '>= 0.9.7' require 'xml' require 'libxml_ext/libxml_helper' class Boolean; end @@ -73,11 +73,21 @@ node.register_default_namespace(namespace.chop) node.find("#{namespace}#{get_tag_name}") else doc.find("//#{get_tag_name}") end - + + nodes = if namespace + node = doc.respond_to?(:root) ? doc.root : doc + node.register_default_namespace(namespace.chop) + node.find("#{namespace}#{get_tag_name}") + else + nested = '.' unless doc.respond_to?(:root) + path = "#{nested}//#{get_tag_name}" + doc.find(path) + end + collection = create_collection(nodes, namespace) # per http://libxml.rubyforge.org/rdoc/classes/LibXML/XML/Document.html#M000354 nodes = nil GC.start @@ -118,6 +128,6 @@ end end require 'happymapper/item' require 'happymapper/attribute' -require 'happymapper/element' \ No newline at end of file +require 'happymapper/element'