Sha256: 6dd634e137ddf5a4491e36421aaf6cc01c70323109b5961bbf2669a175f3145d
Contents?: true
Size: 1.02 KB
Versions: 1
Compression:
Stored size: 1.02 KB
Contents
require 'logger' require 'colorize' # Fetcher module WeatherFetcher class Fetcher attr_accessor :logger def initialize @logger = Logger.new(STDOUT) end def fetch(defs, max_response_time = 0.8) require 'yaml' classes = ProviderList.providers(max_response_time) result = Array.new classes.each do |c| self.logger.debug("#{self.class.to_s.blue} - starting #{c.to_s.red} with #{defs.size.to_s.green} definitions") instance = c.new(defs) instance.logger = self.logger instance.fetch class_results = instance.weathers self.logger.debug("#{self.class.to_s.blue} - done #{c.to_s.red} with #{class_results.size.to_s.green} results") result += class_results end return result end def represent_result(result) puts result.inspect data = result.sort{|r,s| r.time_from <=> s.time_from} data.each do |d| puts "#{d.provider} #{d.time_from} #{d.temperature} #{d.wind}" end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
weather_fetcher-0.1.5 | lib/weather_fetcher/fetcher.rb |