class WeatherGemKg::Clients::DarkSky
Constants
- API_KEY
Public Class Methods
new()
click to toggle source
# File lib/weather_gem_kg/clients/dark_sky.rb, line 9 def initialize @base_url = "https://api.darksky.net/forecast/#{API_KEY}" end
Public Instance Methods
get_city_coordinates(city)
click to toggle source
# File lib/weather_gem_kg/clients/dark_sky.rb, line 32 def get_city_coordinates(city) Geocoder.search("#{city}").first.coordinates.map(&:inspect).join(',') end
get_weather(city, days)
click to toggle source
# File lib/weather_gem_kg/clients/dark_sky.rb, line 13 def get_weather(city, days) @data = get_weather_info(city, days) @data.dig("daily", "data")[0...days].map do |f| { date: Time.at(f['time']).ctime.slice(0, 10), max_temp: ((f["temperatureHigh"] - 32) * 5 / 9).round(1), min_temp: ((f["temperatureLow"] - 32) * 5 / 9).round(1), condition: f["summary"] } end end
get_weather_info(city, days)
click to toggle source
# File lib/weather_gem_kg/clients/dark_sky.rb, line 26 def get_weather_info(city, days) coordinates = get_city_coordinates(city) HTTParty.get("#{@base_url}/#{coordinates}") end