Un altro utile servizio, messo a disposizione da Yahoo, riguarda le previsioni meteorologiche. Occorre innanzitutto installare la gemma yahoo-weather e recuperare il codice della città che ci interessa da weather.yahoo.com. Negli esempi utilizzeremo il codice ITXX0067 che corrisponde a Roma.
Di seguito un semplice stralcio di codice che permette di conoscere la situazione meteo di oggi e le previsioni per i prossimi due giorni.
require 'rubygems'
require 'yahoo-weather'
client = YahooWeather::Client.new
res = client.lookup_location('ITXX0067')
puts "#{res.title}"
puts "Today: #{res.condition.text}"
puts "Temperature: #{res.condition.temp} #{res.units.temperature}"
puts "Forecast:"
forecasts = res.forecasts
forecasts.each do |f|
puts " #{f.day}: #{f.text} (min #{f.low} - max #{f.high})"
end
Innanzitutto creiamo un nuovo client e lo associamo alla città di interesse, dopodiché recuperiamo i dati attraverso gli attributi della classe YahooWeather::Response che sono a loro volta delle istanze delle classi che rappresentano le varie tipologie di informazione (ad esempio YahooWeather::Atmosphere, YahooWeather::Forecast, YahooWeather::Wind, etc.).
L'output dell'esempio è il seguente:
Conditions for Rome, IT at 11:50 am CESTToday: Fair Temperature: 63 F Forecast: Tue: Sunny (min 52 - max 74) Wed: Mostly Cloudy (min 54 - max 75)
In questo caso per maggiori informazioni sulla API i siti di riferimento sono:
Se vuoi aggiornamenti su Development inserisci la tua email nel box qui sotto: