class Onebusaway::ArrivalAndDeparture

Attributes

predictedArrivalTime[RW]
predictedDepartureTime[RW]
routeId[RW]
routeShortName[RW]
scheduledArrivalTime[RW]
scheduledDepartureTime[RW]
status[RW]
stopId[RW]
tripHeadsign[RW]
tripId[RW]

Public Class Methods

parse(data) click to toggle source
# File lib/onebusaway.rb, line 125
def self.parse(data)
  arrival = self.new
  [:routeId, :routeShortName, :tripId, :tripHeadsign, :stopId, :predictedArrivalTime, :scheduledArrivalTime, :predictedDepartureTime, :scheduledDepartureTime, :status].each do |attr|
    value = data.elements[attr.to_s]
    arrival.send("#{attr}=", value.text) if value
  end
  arrival
end

Public Instance Methods

minutes_from_now() click to toggle source
# File lib/onebusaway.rb, line 134
def minutes_from_now
  @minutes_from_now ||= begin
    at = predictedArrivalTime.to_i
    if at == 0
      # no predicted time, use scheduled
      (scheduledArrivalTime.to_i/1000 - Time.now.to_i) / 60
    else
      (predictedArrivalTime.to_i/1000 - Time.now.to_i) / 60
    end
  end
  @minutes_from_now
end