Sha256: 55874d91e0aa45655354bcf1b6d006430213a4c546f365e256766178443a8615

Contents?: true

Size: 745 Bytes

Versions: 7

Compression:

Stored size: 745 Bytes

Contents

require_relative 'apis/noaa_station'
require 'nokogiri'

module Barometer
  module Query
    module Service
      class NoaaStation
        def self.fetch(query)
          converted_query = query.get_conversion(:coordinates)
          return unless converted_query

          api = NoaaStation::Api.new(converted_query)
          _parse_content(api.get)
        end

        def self._parse_content(content)
          doc = Nokogiri::HTML.parse(content)
          if doc && links = doc.search(".current-conditions-extra a")
            sid_link = links.detect{|link| link.attr("href").match(/sid=(.*)&/)}
            sid_link.attr("href").match(/sid=(.*?)&/)[1]
          end
        rescue
          nil
        end
      end
    end
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
barometer-0.9.6 lib/barometer/query/services/noaa_station_id.rb
barometer-0.9.5 lib/barometer/query/services/noaa_station_id.rb
barometer-0.9.4 lib/barometer/query/services/noaa_station_id.rb
barometer-0.9.3 lib/barometer/query/services/noaa_station_id.rb
barometer-0.9.2 lib/barometer/query/services/noaa_station_id.rb
barometer-0.9.1 lib/barometer/query/services/noaa_station_id.rb
barometer-0.9.0 lib/barometer/query/services/noaa_station_id.rb