Sha256: 22ccb3f1e94424961bc70f01e13bbf5f1972fe0b28fd02fa68b85397724ab5d6
Contents?: true
Size: 988 Bytes
Versions: 3
Compression:
Stored size: 988 Bytes
Contents
module Medie module Xml class Driver def marshal(obj, options = {}) if(obj.kind_of?(String)) obj elsif obj.kind_of?(Hash) && obj.size==1 root = obj.values.first if !root.respond_to?(:to_xml) raise "Trying to marshal a string into xml does not make sense: '#{obj}'" end root.to_xml(:root => obj.keys.first) else obj.to_xml end end def unmarshal(content) if content hash = Hash.from_xml(content) else hash = {} end hash.extend(Methodize).extend(Medie::Linked).use_link_type(Medie::Xml::Links) end def can_handle?(content_type) !(content_type.nil? || (content_type.split(";")[0]!="application/xml" && content_type.split(";")[0]!="application/atom+xml" && content_type.split(";")[0]!="text/xml")) end Medie.registry << Driver.new end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
medie-1.0.0 | lib/medie/xml/driver.rb |
medie-1.0.0.beta4 | lib/medie/xml/driver.rb |
medie-1.0.0.beta3 | lib/medie/xml/driver.rb |