Class: SFBATransitAPI::Stop
- Inherits:
-
Object
- Object
- SFBATransitAPI::Stop
- Defined in:
- lib/sfba_transit_api/stop.rb
Instance Attribute Summary collapse
-
#code ⇒ Object
Returns the value of attribute code.
-
#departure_times ⇒ Object
Returns the value of attribute departure_times.
-
#direction ⇒ Object
Returns the value of attribute direction.
-
#direction_name ⇒ Object
Returns the value of attribute direction_name.
-
#name ⇒ Object
Returns the value of attribute name.
-
#route ⇒ Object
Returns the value of attribute route.
Class Method Summary collapse
- .parse(route_node, route) ⇒ Object
- .parse_departure_times(stop_node) ⇒ Object
- .parse_stop(node, route, direction = nil, direction_name = nil) ⇒ Object
Instance Method Summary collapse
Instance Attribute Details
#code ⇒ Object
Returns the value of attribute code.
3 4 5 |
# File 'lib/sfba_transit_api/stop.rb', line 3 def code @code end |
#departure_times ⇒ Object
Returns the value of attribute departure_times.
3 4 5 |
# File 'lib/sfba_transit_api/stop.rb', line 3 def departure_times @departure_times end |
#direction ⇒ Object
Returns the value of attribute direction.
3 4 5 |
# File 'lib/sfba_transit_api/stop.rb', line 3 def direction @direction end |
#direction_name ⇒ Object
Returns the value of attribute direction_name.
3 4 5 |
# File 'lib/sfba_transit_api/stop.rb', line 3 def direction_name @direction_name end |
#name ⇒ Object
Returns the value of attribute name.
3 4 5 |
# File 'lib/sfba_transit_api/stop.rb', line 3 def name @name end |
#route ⇒ Object
Returns the value of attribute route.
3 4 5 |
# File 'lib/sfba_transit_api/stop.rb', line 3 def route @route end |
Class Method Details
.parse(route_node, route) ⇒ Object
15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
# File 'lib/sfba_transit_api/stop.rb', line 15 def self.parse(route_node, route) if route.has_direction route_node.xpath(".//RouteDirection").map do |direction_node| if direction_node["Code"] == "Inbound" direction = :inbound elsif direction_node["Code"] == "Outbound" direction = :outbound end parse_stop(direction_node, route, direction, direction_node["Name"]) end.flatten else parse_stop(route_node, route) end end |
.parse_departure_times(stop_node) ⇒ Object
9 10 11 12 13 |
# File 'lib/sfba_transit_api/stop.rb', line 9 def self.parse_departure_times(stop_node) stop_node.xpath(".//DepartureTime").map do |departure_time_node| departure_time_node.text ? departure_time_node.text.to_i : nil end end |
.parse_stop(node, route, direction = nil, direction_name = nil) ⇒ Object
32 33 34 35 36 37 38 39 40 41 42 43 44 45 |
# File 'lib/sfba_transit_api/stop.rb', line 32 def self.parse_stop(node, route, direction=nil, direction_name=nil) node.xpath(".//Stop").map do |stop_node| stop = new stop.route = route stop.name = stop_node["name"] stop.code = stop_node["StopCode"] stop.departure_times = parse_departure_times(stop_node) stop.direction = direction stop.direction_name = direction_name stop end end |
Instance Method Details
#to_s ⇒ Object
5 6 7 |
# File 'lib/sfba_transit_api/stop.rb', line 5 def to_s "#<SFBATransitAPI::Stop:#{object_id} @name=\"#{name}\", @code=\"#{code}\", @direction=\"#{direction}\", @direction_name=\"#{direction_name}\", @route=<SFBATransitAPI::Route:#{route.object_id}>, departure_times=#{departure_times}>" end |