Sha256: 5bdd27eadb329a662a86b23d2eee8e60ad300ba85b8f8444b56332abec775d66
Contents?: true
Size: 1.2 KB
Versions: 3
Compression:
Stored size: 1.2 KB
Contents
module Wasserstand module Provider =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
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
wasserstand-0.0.11 | lib/wasserstand/provider/level_mapper.rb |
wasserstand-0.0.10 | lib/wasserstand/provider/level_mapper.rb |
wasserstand-0.0.9 | lib/wasserstand/provider/level_mapper.rb |