Module: Xively::Parsers::XML::FeedDefaults

Includes:
Helpers
Included in:
Feed
Defined in:
lib/xively-rb/parsers/xml/feed_defaults.rb

Instance Method Summary collapse

Instance Method Details

#from_xml(xml) ⇒ Object



7
8
9
10
11
12
13
14
15
16
17
18
19
20
# File 'lib/xively-rb/parsers/xml/feed_defaults.rb', line 7

def from_xml(xml)
  begin
    parsed = MultiXml.parse(xml)
    raise InvalidXMLError, "Missing 'environment' node from base node" if parsed['eeml'].nil? || !parsed['eeml'].key?('environment')
    return {} if parsed['eeml']['environment'].nil?
    if parsed['eeml']['version'] == '5' || parsed['eeml']['xmlns'] == 'http://www.eeml.org/xsd/005'
      transform_v1(parsed['eeml']['environment'])
    else
      transform_v2(parsed['eeml']['environment'])
    end
  rescue MultiXml::ParseError => e
    raise InvalidXMLError, e.message
  end
end