Module: OpenMeteoClient

Defined in:
lib/open_meteo_client.rb,
lib/open_meteo_client/version.rb

Constant Summary collapse

DEFAULT_ATTRIBUTES =
[:times, :temp, :rh, :low_clouds, :medium_clouds, :high_clouds, :precipitations]
VERSION =
"0.0.1"

Class Method Summary collapse

Class Method Details

.configObject



27
28
29
# File 'lib/open_meteo_client.rb', line 27

def self.config
  @config
end

.configure(opts = {}) ⇒ Object

Configure through hash



23
24
25
# File 'lib/open_meteo_client.rb', line 23

def self.configure(opts = {})
  opts.each {|k,v| @config[k.to_sym] = v if @valid_config_keys.include? k.to_sym}
end

.forecasts(latitude, longitude) ⇒ Object



31
32
33
34
35
36
37
38
39
# File 'lib/open_meteo_client.rb', line 31

def self.forecasts(latitude, longitude)
  response = OpenMeteoResponse.new(@config[:relevant_attributes])
  forecasts_query = "#{@config[:base_url]}/#{@config[:domain]}/#{latitude},#{longitude}/#{@config[:results_type]}.#{@config[:results_format]}"
  @logger.info "Forecasts query : #{forecasts_query}"
  open(forecasts_query) { |f|
      f.each_line {|line| response.append_line(line)}
  }
  response
end