<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -67,6 +67,13 @@ module NOAA
       @weather_type_code ||= text_from_node('icon_url_name').sub(/\.jpg$/, '').to_sym
     end
 
+    # 
+    # Return the NWS image URL for the current weather as string
+    #
+    def image_url
+      @image_url ||= &quot;#{text_from_node('icon_url_base')}#{text_from_node('icon_url_name')}&quot;
+    end
+
     #
     # The current temperature in the requested units.
     #</diff>
      <filename>lib/noaa/current_conditions.rb</filename>
    </modified>
    <modified>
      <diff>@@ -49,6 +49,7 @@ module NOAA
           day.low = minima[i]
           day.weather_summary = weather_summaries[i]
           day.weather_type_code = weather_type_codes[i]
+          day.image_url = image_urls[i]
           day.daytime_precipitation_probability = precipitation_probabilities[i*2]
           day.evening_precipitation_probability = precipitation_probabilities[i*2+1]
         end
@@ -86,9 +87,15 @@ module NOAA
       end
     end
 
+    def image_urls
+      @image_urls ||= @doc.find(%q{/dwml/data/parameters[1]/conditions-icon/icon-link/text()}).map do |node|
+        node.to_s
+      end
+    end
+
     def weather_type_codes
-      @weather_type_codes ||= @doc.find(%q{/dwml/data/parameters[1]/conditions-icon/icon-link/text()}).map do |node|
-        node.to_s.match(/n?([a-z_]+)\d*\.jpg$/)[1].to_sym
+      @weather_type_codes ||= image_urls.map do |url|
+        url.match(/n?([a-z_]+)\d*\.jpg$/)[1].to_sym
       end
     end
 </diff>
      <filename>lib/noaa/forecast.rb</filename>
    </modified>
    <modified>
      <diff>@@ -23,13 +23,16 @@ module NOAA
     # Symbol representing NOAA weather type. See NOAA::CurrentConditions#weather_type_code
     attr_reader :weather_type_code
 
+    # URL string for NOAA weather image
+    attr_reader :image_url
+
     # Percentage probability of precipitation during the day, between 6am and 6pm, as an integer (0-100)
     attr_reader :daytime_precipitation_probability
 
     # Percentage probability of precipitation during the evening/night, between 6pm and 6am, as an integer (0-100)
     attr_reader :evening_precipitation_probability
 
-    attr_writer :starts_at, :ends_at, :high, :low, :weather_summary, :weather_type_code, #:nodoc:
+    attr_writer :starts_at, :ends_at, :high, :low, :weather_summary, :weather_type_code, :image_url, #:nodoc:
                 :daytime_precipitation_probability, :evening_precipitation_probability #:nodoc:
   end
 end</diff>
      <filename>lib/noaa/forecast_day.rb</filename>
    </modified>
    <modified>
      <diff>@@ -19,25 +19,29 @@ class TestCurrentConditions &lt; NOAA::TestCase
     conditions.weather_type_code.should == :skc
   end
 
-  test 'should return temperature in fahrenheit by default' do
-    conditions.temperature.should == 24
-  end
+  test 'should return image URL' do
+  conditions.image_url.should == 'http://weather.gov/weather/images/fcicons/skc.jpg'
+end
 
-  test 'should return temperature in fahrenheit when specified' do
-    conditions.temperature(:f).should == 24
-  end
+test 'should return temperature in fahrenheit by default' do
+  conditions.temperature.should == 24
+end
 
-  test 'should return temperature in celsius when specified' do
-    conditions.temperature(:c).should == -4
-  end
+test 'should return temperature in fahrenheit when specified' do
+  conditions.temperature(:f).should == 24
+end
 
-  test 'should raise ArgumentError if unknown unit specified for temperature' do
-    lambda { conditions.temperature(:kelvin) }.should raise_error(ArgumentError)
-  end
+test 'should return temperature in celsius when specified' do
+  conditions.temperature(:c).should == -4
+end
 
-  test 'should return relative humidity' do
-    conditions.relative_humidity.should == 52
-  end
+test 'should raise ArgumentError if unknown unit specified for temperature' do
+  lambda { conditions.temperature(:kelvin) }.should raise_error(ArgumentError)
+end
+
+test 'should return relative humidity' do
+  conditions.relative_humidity.should == 52
+end
 
   test 'should return wind direction' do
     conditions.wind_direction.should == 'Northwest'</diff>
      <filename>test/test_current_conditions.rb</filename>
    </modified>
    <modified>
      <diff>@@ -43,6 +43,12 @@ class TestForecast &lt; NOAA::TestCase
     end
   end
 
+  [80, 90, 20, 50].each_with_index do |probability, i|
+    should &quot;return correct image URL for day #{i}&quot; do
+      forecast[i].image_url.should == &quot;http://www.nws.noaa.gov/weather/images/fcicons/ra#{probability}.jpg&quot;
+    end
+  end
+
   [5, 94, 22, 50].each_with_index do |probability, i|
     should &quot;return correct daytime probability of precipitation for day #{i}&quot; do
       forecast[i].daytime_precipitation_probability.should == probability</diff>
      <filename>test/test_forecast.rb</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>9b3006f55b2e6a994154352e5dfaf421919d103b</id>
    </parent>
  </parents>
  <author>
    <name>Mat Brown</name>
    <email>mat@patch.com</email>
  </author>
  <url>http://github.com/outoftime/noaa/commit/3b77c966b4f0a9aba9bff9cf944f68069ba2cd1b</url>
  <id>3b77c966b4f0a9aba9bff9cf944f68069ba2cd1b</id>
  <committed-date>2008-12-30T12:07:02-08:00</committed-date>
  <authored-date>2008-12-30T12:07:02-08:00</authored-date>
  <message>Implement CurrentConditions#image_url and Forecast#image_url</message>
  <tree>f35085f38cecdb7f76a45240ffdf05230e695151</tree>
  <committer>
    <name>Mat Brown</name>
    <email>mat@patch.com</email>
  </committer>
</commit>
