Sha256: aba7024f88f514dbc5c25a6212f5c120179567900d415fb3e37d9a8129eb33bd
Contents?: true
Size: 1.1 KB
Versions: 2
Compression:
Stored size: 1.1 KB
Contents
# Fetcher module WeatherFetcher class WeatherData attr_accessor :time_costs def initialize(h = { }) @time_costs = Hash.new @h = h @h.keys.each do |k| self.instance_variable_set("@#{k}".to_sym, @h[k]) end end # Return Array of WeatherData objects def self.factory(obj) return [ new(obj) ] if obj.kind_of? Hash return factory_from_array(obj) if obj.kind_of? Array end def self.factory_from_array(array = []) ao = Array.new array.each do |a| obj = self.new(a) ao << obj end return ao end # Mark this weather as just downloaded def just_fetched! @fetch_time ||= Time.now end def next_within!(_interval) # just_fetched! @next_fetch_time = @fetch_time + _interval end attr_reader :time_created, :time_from, :time_to, :fetch_time, :next_fetch_time, :temperature, :wind, :pressure, :wind_kmh, :snow, :rain, :rain_metar, :snow_metar, :cloud_cover, :humidity, :visibility, # available in WorldWeatherOnline :provider, :metar_string end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
weather_fetcher-0.0.12 | lib/weather_fetcher/weather_data.rb |
weather_fetcher-0.0.11 | lib/weather_fetcher/weather_data.rb |