Module: ForecastIO
- Extended by:
- Configuration
- Defined in:
- lib/pirate_weather_forecast_ruby.rb,
lib/pirate_weather_forecast_ruby/version.rb,
lib/pirate_weather_forecast_ruby/configuration.rb
Defined Under Namespace
Modules: Configuration
Constant Summary collapse
- VERSION =
"0.1.0"
Constants included from Configuration
Configuration::DEFAULT_FORECAST_IO_API_ENDPOINT
Class Attribute Summary collapse
-
.connection ⇒ Object
Build or get an HTTP connection object.
Attributes included from Configuration
#api_endpoint, #api_key, #default_params, #timeout
Class Method Summary collapse
-
.forecast(latitude, longitude, options = {}) ⇒ Object
Retrieve the forecast for a given latitude and longitude.
Methods included from Configuration
Class Attribute Details
.connection ⇒ Object
Build or get an HTTP connection object.
33 34 35 |
# File 'lib/pirate_weather_forecast_ruby.rb', line 33 def connection @connection ||= Faraday.new(request: { timeout: ForecastIO.timeout }) end |
Class Method Details
.forecast(latitude, longitude, options = {}) ⇒ Object
Retrieve the forecast for a given latitude and longitude.
21 22 23 24 25 26 27 28 29 30 |
# File 'lib/pirate_weather_forecast_ruby.rb', line 21 def forecast(latitude, longitude, = {}) forecast_url = "#{ForecastIO.api_endpoint}/forecast/#{ForecastIO.api_key}/#{latitude},#{longitude}" forecast_url += ",#{options[:time]}" if [:time] forecast_response = get(forecast_url, [:params]) return unless forecast_response.success? Hashie::Mash.new(MultiJson.load(forecast_response.body)) end |