Sha256: 26de5f3d380bd5608af6d9e620726d055f5e01677cfae06fce2dfb5db5c546f0

Contents?: true

Size: 979 Bytes

Versions: 2

Compression:

Stored size: 979 Bytes

Contents

module UndergroundWeather
  module Features
    
    features = {
      :conditions   => { :class => CurrentConditions },
      :forecast     => { :class => Forecast          },
      :astronomy    => { :class => Astronomy         },
      :radar        => { :class => Radar             },
      :satellite    => { :class => Satellite         },
      :webcams      => { :class => Webcams           }
      #:history      => { :class => ''},
      #:alerts       => { :class => ''},
      #:hourly       => { :class => ''},
      #:hourly7day   => { :class => ''},
      #:forecast7day => { :class => ''},
      #:yesterday    => { :class => ''}
    }
    
    features.each do |feature, v|
      define_method(feature) do |zip_code|
        call = ApiCall.new(@api_key, feature, zip_code)

        if call.response && !call.error
          v[:class].new(call.response)
        else
          # raise exception here
          []
        end    
      end
    end  
  end  
end
  

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
undergroundweather-0.0.3 lib/undergroundweather/features.rb
undergroundweather-0.0.2 lib/undergroundweather/features.rb