diff --git a/README.md b/README.md new file mode 100644 index 0000000..50e9795 --- /dev/null +++ b/README.md @@ -0,0 +1,105 @@ +WeatherMan +========= + +A Ruby Gem that wraps the Weather Channel, inc. XML data feed +written by Jared Pace, Codeword: Studios (http://codewordstudios.com), +based on the rweather[http://github.com/ckozus/rweather] gem by Carlos Kozuszko - http://www.ckozus.com.ar/blog/. + +Dependencies +------------ + +1. XmlSimple + +`gem install xml-simple` + +Installation +------------ + +``` +sudo gem sources -a http://gems.github.com # (if you haven't already) +sudo gem install jdpace-weatherman +``` + +Usage +----- + + +Find or load a location: + +```ruby +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: + +```ruby +# 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: + +```ruby +# 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: + +```ruby +# 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: + +```ruby +# 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 diff --git a/README.rdoc b/README.rdoc deleted file mode 100644 index 71ae879..0000000 --- a/README.rdoc +++ /dev/null @@ -1,93 +0,0 @@ -= WeatherMan - -A Ruby Gem that wraps the Weather Channel, inc. XML data feed -written by Jared Pace, Codeword: Studios (http://codewordstudios.com), -based on the rweather[http://github.com/ckozus/rweather] gem by Carlos Kozuszko - http://www.ckozus.com.ar/blog/. - -== Dependencies - -1. XmlSimple - `gem install xml-simple` - ---------------------------- - -== Installation - - - % sudo gem sources -a http://gems.github.com # (if you haven't already) - % sudo gem install jdpace-weatherman - ---------------------------- - -== Usage - - -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 \ No newline at end of file