8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
# File 'lib/xively-rb/parsers/xml/datapoint_defaults.rb', line 8
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?
datastream = parsed['eeml']['environment']['data']
raise InvalidXMLError, "Multiple 'data' nodes are not permitted for Datapoint level XML" if datastream.is_a?(Array)
datapoint = datastream['datapoints']
raise InvalidXMLError, "Multiple 'value' nodes are not permitted for Datapoint level XML" if datapoint.is_a?(Array)
(datapoint).first
rescue MultiXml::ParseError => e
raise InvalidXMLError, e.message
end
end
|