Class: Barometer::Query::Service::NoaaStation

Inherits:
Object
  • Object
show all
Defined in:
lib/barometer/query/services/noaa_station_id.rb,
lib/barometer/query/services/apis/noaa_station.rb

Defined Under Namespace

Classes: Api

Class Method Summary collapse

Class Method Details

._parse_content(content) ⇒ Object



16
17
18
19
20
21
22
23
24
# File 'lib/barometer/query/services/noaa_station_id.rb', line 16

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

.fetch(query) ⇒ Object



8
9
10
11
12
13
14
# File 'lib/barometer/query/services/noaa_station_id.rb', line 8

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