Class: WeatherFetcher::Provider::Wunderground

Inherits:
MetarProvider show all
Defined in:
lib/weather_fetcher/providers/metar/wunderground.rb

Constant Summary collapse

SLOW =

this provider is turned off because quite long response time and because there are 2 other faster metar providers available typical website response - 1s

1.1

Constants inherited from MetarProvider

MetarProvider::MAX_METAR_TIME_THRESHOLD, MetarProvider::TYPE

Constants inherited from HtmlBasedProvider

HtmlBasedProvider::TYPE, HtmlBasedProvider::USER_AGENT

Constants inherited from WeatherFetcher::Provider

HOUR, TYPE

Instance Attribute Summary

Attributes inherited from WeatherFetcher::Provider

#defs, #logger, #weathers

Instance Method Summary collapse

Methods inherited from MetarProvider

#can_fetch?, #fetch_and_process_single, #metar, provider_name, weather_updated_every

Methods inherited from HtmlBasedProvider

#can_fetch?, #fetch_and_process_single, #fetch_url, #fetch_url_old, #url, weather_updated_every

Methods inherited from WeatherFetcher::Provider

#can_fetch?, #fetch, #fetch_and_process_single, #initialize, #provider_name, provider_name, #provider_params, short_class_name, #short_class_name, #store_city_definition, #store_time_costs, #unix_time_today, #url

Constructor Details

This class inherits a constructor from WeatherFetcher::Provider

Instance Method Details

#process(string) ⇒ Object



15
16
17
18
19
20
21
22
23
24
# File 'lib/weather_fetcher/providers/metar/wunderground.rb', line 15

def process(string)
  reg = /<div class=\"textReport\">\s*METAR\s*([^<]*)<\/div>/
  _s = string.scan(reg)
  return nil if _s.size == 0
  string = _s.first.first
  string.gsub!(/\n/, ' ')
  string.gsub!(/\t/, ' ')
  string.gsub!(/\s{2,}/, ' ')
  string.strip
end

#url_for_metar(metar_city) ⇒ Object



10
11
12
13
# File 'lib/weather_fetcher/providers/metar/wunderground.rb', line 10

def url_for_metar(metar_city)
  u = "http://www.wunderground.com/Aviation/index.html?query=#{metar_city.upcase}"
  return u
end