Sha256: 1c7254f757237eda25b191f05ba6c058907ccf62eb9e1f994e156661e1523ae6

Contents?: true

Size: 560 Bytes

Versions: 4

Compression:

Stored size: 560 Bytes

Contents

module Wasserstand
  module Provider
    class PegelOnline
      def initialize(url = 'http://www.pegelonline.wsv.de/svgz/pegelstaende_neu.xml')
        @url = url
      end

      def [](name)
        doc = Nokogiri::HTML(open(@url).read)
        results = doc.xpath("//data/table/gewaesser[name/text() = '#{name.upcase}']")

        case results.size
        when 0
          return []
        when 1
          return Mapper.map(results.first)
        else
          raise "Found #{results.size} results for #{name}."
        end
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
wasserstand-0.0.4 lib/wasserstand/provider/pegel-online.rb
wasserstand-0.0.3 lib/wasserstand/provider/pegel-online.rb
wasserstand-0.0.2 lib/wasserstand/provider/pegel-online.rb
wasserstand-0.0.1 lib/wasserstand/provider/pegel-online.rb