- Author
-
Guilherme Nascimento
- Copyright
-
Copyright © 2009
Overview
Weather Finder is a Ruby library to access Weather.com data (XOAP). The library uses Hpricot and MemCached and allows fetch current forecast data from anywhere location.
In order to use this library, you need to get a partner_id and license_key from Weather.com service at: www.weather.com/services/xmloap.html
After signed up, you will receive an email with partner_id and license_key.
If you need read the complete terms and conditions about the use of the service, you can download the SDK from link below: download.weather.com/web/xml/sdk.zip
In this .zip file, you can find too the graphical icons to represent the conditions associated with the current forecast.
Quick Install
RubyGem:
sudo gem install weatherfinder
Fetching current conditions
require “weatherfinder”
service = Weather::WeatherFinder.new
# Partner ID and License Key provided by Weather.com service.partner_id = your partner id service.license_key = your license key
# Fetching current forecast from Rio de Janeiro ;) forecast = service.load_forecast(“BRXX0201”)
puts “Current Description: ” + forecast.current.description puts “Current Temperature: ” + forecast.current.temp puts “Current Icon: ” + forecast.current.icon puts “Current Wind Speed: ” + forecast.current.wind.speed
Fetching tomorrow’s forecast:
puts “Tomorrow’s High Temperature: ” + forecast.tomorrow.high puts “Tomorrow’s Low Temperature: ” + forecast.tomorrow.low puts “Tomorrow’s Sunrise: ” + forecast.tomorrow.sunrise puts “Tomorrow’s Sunset: ” + forecast.tomorrow.sunset puts “Tomorrow’s Wind Speed” + forecast.tomorrow.wind.speed
Future Forecasts
Future forecasts can be accessed using day() method from Forecast class. This method accept an argument indicating the number of days that will be fetched. This functionality depends of the day that was defined at load_forecast() method.
puts “High Temperature 2 days from now: ” + forecast.day(2).high puts “High Temperature 2 days from now: ” + forecast.day(2).low puts “Sunrise 2 days from now: ” + forecast.day(2).sunrise puts “Sunset 2 days from now: ” + forecast.day(2).sunset
Cache
WeatherFinder uses Memcached to support data caching. This functionality is very useful when a lot of requests are made by clients.
You need to install Ruby-MemCache Gem:
sudo gem install Ruby-MemCache
After installation, you need to enable the cache:
service.enable_cache service.cache.servers = “localhost:11211” service.cache_expiry = 10