Module: WeatherGemKg
- Defined in:
- lib/weather_gem_kg.rb,
lib/weather_gem_kg/client.rb,
lib/weather_gem_kg/config.rb,
lib/weather_gem_kg/errors.rb,
lib/weather_gem_kg/version.rb,
lib/weather_gem_kg/forecast_day.rb,
lib/weather_gem_kg/clients/open_meteo.rb,
lib/generators/weather_gem_kg/install_generator.rb
Defined Under Namespace
Modules: Clients, Generators
Classes: Client, Configuration, Error, ForecastDay, InvalidArgumentError, LocationNotFoundError, RequestError
Constant Summary
collapse
- VERSION =
"1.0.1"
Class Attribute Summary collapse
Class Method Summary
collapse
Class Attribute Details
.configuration ⇒ Object
8
9
10
|
# File 'lib/weather_gem_kg/config.rb', line 8
def self.configuration
@configuration ||= Configuration.new
end
|
Class Method Details
12
13
14
|
# File 'lib/weather_gem_kg/config.rb', line 12
def self.configure
yield(configuration) if block_given?
end
|
.forecast(city:, days: nil, client: nil) ⇒ Object
11
12
13
14
15
16
|
# File 'lib/weather_gem_kg.rb', line 11
def self.forecast(city:, days: nil, client: nil)
raise InvalidArgumentError, "city is required" if city.nil? || city.to_s.strip.empty?
days ||= configuration.default_days
(client || configuration.client).forecast(city: city, days: days)
end
|
.reset_configuration! ⇒ Object
16
17
18
|
# File 'lib/weather_gem_kg/config.rb', line 16
def self.reset_configuration!
@configuration = Configuration.new
end
|