class Barometer::Yahoo::Response::Sun
Attributes
base_time[R]
payload[R]
Public Class Methods
new(payload, base_time)
click to toggle source
# File lib/barometer/yahoo/response/sun.rb, line 5 def initialize(payload, base_time) @payload = payload @base_time = base_time end
Public Instance Methods
parse()
click to toggle source
# File lib/barometer/yahoo/response/sun.rb, line 10 def parse return if local_rise_time.nil? || local_set_time.nil? Data::Sun.new(rise: utc_rise_time, set: utc_set_time) end
Private Instance Methods
local_rise_time()
click to toggle source
# File lib/barometer/yahoo/response/sun.rb, line 19 def local_rise_time @local_rise_time ||= Utils::Time.parse(payload.fetch('astronomy', '@sunrise')) end
local_set_time()
click to toggle source
# File lib/barometer/yahoo/response/sun.rb, line 23 def local_set_time @local_set_time ||= Utils::Time.parse(payload.fetch('astronomy', '@sunset')) end
utc_rise_time()
click to toggle source
# File lib/barometer/yahoo/response/sun.rb, line 27 def utc_rise_time Utils::Time.utc_from_base_plus_local_time( base_time.timezone, base_time.base, local_rise_time.hour, local_rise_time.min ) end
utc_set_time()
click to toggle source
# File lib/barometer/yahoo/response/sun.rb, line 33 def utc_set_time Utils::Time.utc_from_base_plus_local_time( base_time.timezone, base_time.base, local_set_time.hour, local_set_time.min ) end