Class: NJTransit::Resources::Bus
Constant Summary
collapse
- MODE =
"BUS"
- VALID_MODES =
%w[BUS NLR HBLR RL ALL].freeze
Instance Attribute Summary
Attributes inherited from Base
#client
Instance Method Summary
collapse
-
#departures(stop:, route: nil, direction: nil, enrich: true) ⇒ Object
-
#directions(route:) ⇒ Object
-
#locations(mode: MODE) ⇒ Object
-
#route_trips(location:, route:) ⇒ Object
-
#routes(mode: MODE) ⇒ Object
-
#stop_name(stop_number:, enrich: true) ⇒ Object
-
#stops(route:, direction:, name_contains: nil, enrich: true) ⇒ Object
-
#stops_nearby(lat:, lon:, radius:, mode: MODE, enrich: true, **options) ⇒ Object
-
#trip_stops(internal_trip_number:, sched_dep_time:, timing_point_id: nil) ⇒ Object
-
#vehicles_nearby(lat:, lon:, radius:, mode: MODE, enrich: true) ⇒ Object
Methods inherited from Base
#initialize
Instance Method Details
#departures(stop:, route: nil, direction: nil, enrich: true) ⇒ Object
43
44
45
46
47
48
49
50
|
# File 'lib/njtransit/resources/bus.rb', line 43
def departures(stop:, route: nil, direction: nil, enrich: true)
ensure_gtfs_available! if enrich
params = { stop: stop }
params[:route] = route if route
params[:direction] = direction if direction
result = post_form("/api/BUSDV2/getBusDV", params)
enrich ? enrich_departures(result) : result
end
|
#directions(route:) ⇒ Object
21
22
23
|
# File 'lib/njtransit/resources/bus.rb', line 21
def directions(route:)
post_form("/api/BUSDV2/getBusDirectionsData", route: route)
end
|
#locations(mode: MODE) ⇒ Object
13
14
15
|
# File 'lib/njtransit/resources/bus.rb', line 13
def locations(mode: MODE)
post_form("/api/BUSDV2/getLocations", mode: validate_mode(mode))
end
|
#route_trips(location:, route:) ⇒ Object
39
40
41
|
# File 'lib/njtransit/resources/bus.rb', line 39
def route_trips(location:, route:)
post_form("/api/BUSDV2/getRouteTrips", location: location, route: route)
end
|
#routes(mode: MODE) ⇒ Object
17
18
19
|
# File 'lib/njtransit/resources/bus.rb', line 17
def routes(mode: MODE)
post_form("/api/BUSDV2/getBusRoutes", mode: validate_mode(mode))
end
|
#stop_name(stop_number:, enrich: true) ⇒ Object
33
34
35
36
37
|
# File 'lib/njtransit/resources/bus.rb', line 33
def stop_name(stop_number:, enrich: true)
ensure_gtfs_available! if enrich
result = post_form("/api/BUSDV2/getStopName", stopnum: stop_number)
enrich ? enrich_stop_name(result, stop_number) : result
end
|
#stops(route:, direction:, name_contains: nil, enrich: true) ⇒ Object
25
26
27
28
29
30
31
|
# File 'lib/njtransit/resources/bus.rb', line 25
def stops(route:, direction:, name_contains: nil, enrich: true)
ensure_gtfs_available! if enrich
params = { route: route, direction: direction }
params[:namecontains] = name_contains if name_contains
result = post_form("/api/BUSDV2/getStops", params)
enrich ? enrich_stops(result) : result
end
|
#stops_nearby(lat:, lon:, radius:, mode: MODE, enrich: true, **options) ⇒ Object
61
62
63
64
65
66
67
68
|
# File 'lib/njtransit/resources/bus.rb', line 61
def stops_nearby(lat:, lon:, radius:, mode: MODE, enrich: true, **options)
ensure_gtfs_available! if enrich
params = { lat: lat, lon: lon, radius: radius, mode: validate_mode(mode) }
params[:route] = options[:route] if options[:route]
params[:direction] = options[:direction] if options[:direction]
result = post_form("/api/BUSDV2/getBusLocationsData", params)
enrich ? enrich_stops_nearby(result) : result
end
|
#trip_stops(internal_trip_number:, sched_dep_time:, timing_point_id: nil) ⇒ Object
52
53
54
55
56
57
58
59
|
# File 'lib/njtransit/resources/bus.rb', line 52
def trip_stops(internal_trip_number:, sched_dep_time:, timing_point_id: nil)
params = {
internal_trip_number: internal_trip_number,
sched_dep_time: sched_dep_time
}
params[:timing_point_id] = timing_point_id if timing_point_id
post_form("/api/BUSDV2/getTripStops", params)
end
|
#vehicles_nearby(lat:, lon:, radius:, mode: MODE, enrich: true) ⇒ Object
70
71
72
73
74
75
76
77
|
# File 'lib/njtransit/resources/bus.rb', line 70
def vehicles_nearby(lat:, lon:, radius:, mode: MODE, enrich: true)
ensure_gtfs_available! if enrich
result = post_form(
"/api/BUSDV2/getVehicleLocations",
lat: lat, lon: lon, radius: radius, mode: validate_mode(mode)
)
enrich ? enrich_vehicles(result) : result
end
|