Module: OEmbed::Formatter::XML::Backends::REXML
Overview
Use the REXML library, part of the standard library, to parse XML values.
Instance Method Summary collapse
-
#decode(xml) ⇒ Object
Parses an XML string or IO and convert it into an object.
- #decode_fail_msg ⇒ Object
- #parse_error ⇒ Object
Instance Method Details
#decode(xml) ⇒ Object
Parses an XML string or IO and convert it into an object
13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
# File 'lib/oembed/formatter/xml/backends/rexml.rb', line 13 def decode(xml) if !xml.respond_to?(:read) xml = StringIO.new(xml) end obj = {} doc = ::REXML::Document.new(xml) doc.elements[1].elements.each do |el| obj[el.name] = el.text end obj rescue case $! when parse_error raise $! else raise parse_error, "Couldn't parse the given document." end end |
#decode_fail_msg ⇒ Object
32 33 34 |
# File 'lib/oembed/formatter/xml/backends/rexml.rb', line 32 def decode_fail_msg "The version of the REXML library you have installed isn't parsing XML like ruby-oembed expected." end |
#parse_error ⇒ Object
36 37 38 |
# File 'lib/oembed/formatter/xml/backends/rexml.rb', line 36 def parse_error ::REXML::ParseException end |