class GTFS::Realtime::StopTime
Attributes
actual_arrival_delay[RW]
actual_arrival_time[RW]
actual_departure_delay[RW]
actual_departure_time[RW]
Private Class Methods
parse_time(time, date = Date.today)
click to toggle source
# File lib/gtfs/realtime/stop_time.rb, line 41 def self.parse_time(time, date = Date.today) day_adjustment = 0 hour = time[0...2].to_i # handle timestamps like "24:30" if hour >= 24 days = hour / 24 time[0...2] = (hour % 24).to_s.rjust(2, '0') end Time.parse("#{date} #{time}").in_time_zone(Time.zone) + day_adjustment * 60 * 60 * 24 end
Public Instance Methods
arrival_time()
click to toggle source
# File lib/gtfs/realtime/stop_time.rb, line 14 def arrival_time actual_arrival_time || scheduled_arrival_time end
departure_time()
click to toggle source
# File lib/gtfs/realtime/stop_time.rb, line 18 def departure_time actual_departure_time || scheduled_departure_time end
live?()
click to toggle source
# File lib/gtfs/realtime/stop_time.rb, line 10 def live? actual_arrival_time || actual_arrival_delay || actual_departure_time || actual_departure_delay end
scheduled_arrival_time()
click to toggle source
# File lib/gtfs/realtime/stop_time.rb, line 22 def scheduled_arrival_time self.class.parse_time(self[:arrival_time]) end
scheduled_departure_time()
click to toggle source
# File lib/gtfs/realtime/stop_time.rb, line 26 def scheduled_departure_time self.class.parse_time(self[:departure_time]) end
set(val)
click to toggle source
Calls superclass method
# File lib/gtfs/realtime/stop_time.rb, line 30 def set(val) return super(val) unless val.is_a?(GTFS::Realtime::StopTimeUpdate) @actual_arrival_time = val.arrival_time @actual_arrival_delay = val.arrival_delay @actual_departure_time = val.departure_time @actual_departure_delay = val.departure_delay end