A Ruby Gem that wraps the Weather Channel, inc. XML data feed written by Jared Pace, Codeword: Studios (codewordstudios.com), based on the rweather gem by Carlos Kozuszko - www.ckozus.com.ar/blog/.
-
XmlSimple
gem install xml-simple
% sudo gem sources -a http://gems.github.com # (if you haven't already) % sudo gem install jdpace-weatherman
Find or load a location:
require 'weather_man' WeatherMan.partner_id = '0123456789' WeatherMan.license_key = '0123456789abcdef'
# Search for a location # Returns an array of WeatherMan objects locations = WeatherMan.search('New York')
# or if you know the location id or just want to use a US Zip code ny = WeatherMan.new('USNY0996')
Fetch the weather:
# Fetch the current conditions and 5 day forecast in 'standard' units weather = ny.fetch
# Fetch only current conditions in metric units weather = ny.fetch(:days => 0, :unit => 'm')
# Fetch a 3 day forecast only weather = ny.fetch(:days => 3, :current_conditions => false)
Look at the Current Conditions:
# current temperature temp = weather.current_conditions.temperature
feels_like = weather.current_conditions.feels_like
wind_speed = weather.current_conditions.wind.speed wind_direction = weather.current_conditions.wind.direction
Look at the forecast:
# how many days? weather.forecast.size
# Some different forecasts weather.forecast.today weather.forecast.tomorrow weather.forecast.monday weather.forecast.for(Date.today) weather.forecast.for(3.days.from_now) # Note: using rails core extensions weather.forecast.for('Sep 1')
# data for a forecast friday = weather.forecast.friday
high_temp = friday.high low_temp = friday.low
# forecasts are split into 2 parts day/night friday.day.description # Partly Cloudy, Sunny... friday.day.chance_percipitation # 0..100
night_wind_speed = friday.night.wind.speed
The Weather Channel requires that you 4 promotional links for them if you use their service. Here’s how to access those links:
# The array of pr links weather.links
# Getting the first links text and url weather.links.first.text weather.links.first.url
TODO: Document all attributes