Sha256: 62440500a716731a5c86b5f1600e4804bdf22feae5fa816e3d1397906615c6b4
Contents?: true
Size: 1.18 KB
Versions: 2
Compression:
Stored size: 1.18 KB
Contents
module Wasserstand module PegelOnline =begin <item> <no>8</no> <psmgr>320</psmgr> <pegelname>KONSTANZ</pegelname> <messwert>380,7</messwert> <km>0</km> <pnp>391,89</pnp> <tendenz>Gleich</tendenz> <datum>13.09.2012</datum> <uhrzeit>20:00:00</uhrzeit> <pegelnummer>0906</pegelnummer> </item> =end class LevelMapper class << self def map(item) level_name = item.xpath('pegelname').text Level.new(level_name).tap do |pegel| # The level class will resolve the name to a real object if required pegel.waterway = item.xpath('../name').text pegel.level_id = item.xpath('pegelnummer').text pegel.km = item.xpath('km').text.sub(',', '.').to_f datum = item.xpath('datum').text uhrzeit = item.xpath('uhrzeit').text messdatum = TZInfo::Timezone.get('Europe/Berlin').local_to_utc(Time.parse("#{datum} #{uhrzeit}")) wert = item.xpath('messwert').text.sub(',', '.').to_f tendenz = item.xpath('tendenz').text pegel.measurements << Measurement.new(messdatum, wert, Trend.new(tendenz)) end end end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
wasserstand-0.0.8 | lib/wasserstand/provider/level_mapper.rb |
wasserstand-0.0.7 | lib/wasserstand/provider/level_mapper.rb |