Class: DarkSky::API
- Inherits:
-
Object
- Object
- DarkSky::API
- Defined in:
- lib/sixarm_ruby_rails_dark_sky_api/dark_sky/api.rb
Class Method Summary collapse
-
.credentials ⇒ Hash
Get the Dark Sky API credentials via typical Rails appplication credentials.
-
.get(latitude:, longitude:) ⇒ Faraday::Response
Get a Dark Sky API via Faraday.
-
.secret_key ⇒ String
Get the Dark Sky API secret key via the typical Rails appplication credentials.
-
.uri(latitude:, longitude:) ⇒ URI
Craft a Dark Sky API URL suitable to get a weather forecast for a given place.
Class Method Details
.credentials ⇒ Hash
Get the Dark Sky API credentials via typical Rails appplication credentials.
11 12 13 |
# File 'lib/sixarm_ruby_rails_dark_sky_api/dark_sky/api.rb', line 11 def self.credentials @credentials ||= Rails.application.credentials.env[Rails.env.to_sym][:dark_sky][:api] end |
.get(latitude:, longitude:) ⇒ Faraday::Response
Get a Dark Sky API via Faraday
39 40 41 |
# File 'lib/sixarm_ruby_rails_dark_sky_api/dark_sky/api.rb', line 39 def self.get(latitude:, longitude:) Faraday.get uri(latitude: latitude, longitude: longitude) end |
.secret_key ⇒ String
Get the Dark Sky API secret key via the typical Rails appplication credentials.
19 20 21 |
# File 'lib/sixarm_ruby_rails_dark_sky_api/dark_sky/api.rb', line 19 def self.secret_key @secret_key ||= credentials[:secret_key] end |
.uri(latitude:, longitude:) ⇒ URI
Craft a Dark Sky API URL suitable to get a weather forecast for a given place.
29 30 31 |
# File 'lib/sixarm_ruby_rails_dark_sky_api/dark_sky/api.rb', line 29 def self.uri(latitude:, longitude:) URI("https://api.darksky.net/forecast/#{secret_key}/#{latitude},#{longitude}") end |