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