module Xmlenc::Builder::Base::XmlMapperClassMethods

Public Instance Methods

parse(xml, options = {}) click to toggle source
Calls superclass method
# File lib/xmlenc/builder/base.rb, line 33
def parse(xml, options = {})
  raise Xmlenc::UnparseableMessage.new("Unable to parse nil document") if xml.nil?

  object = super
  if object.is_a?(Array)
    object.map { |x| x.from_xml = true }
  elsif object
    object.from_xml = true
  end
  object
rescue Nokogiri::XML::SyntaxError => e
  raise Xmlenc::UnparseableMessage.new(e.message)
rescue NoMethodError => e
  raise Xmlenc::UnparseableMessage.new(e.message)
end