lib/barometer/query/services/noaa_station_id.rb in barometer-0.9.6 vs lib/barometer/query/services/noaa_station_id.rb in barometer-0.9.7

- old
+ new

@@ -13,12 +13,18 @@ _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] + + if doc + extra_links = doc.search(".current-conditions-extra a") + + if sid_link = extra_links.detect{|link| link.attr('href').match(/sid=(.*)&/)} + sid_link.attr('href').match(/sid=(.*?)&/)[1] + elsif three_day_link = extra_links.detect{|link| link.text.match(/3 Day History/)} + three_day_link.attr('href').match(/\/([A-Za-z]*?)\.html/)[1] + end end rescue nil end end