ratis 3.4.3 → 3.5.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.ruby-gemset +1 -0
- data/.ruby-version +1 -0
- data/CHANGELOG +40 -39
- data/README.md +1 -15
- data/lib/ratis/area.rb +1 -1
- data/lib/ratis/config.rb +2 -4
- data/lib/ratis/fleet_location.rb +2 -7
- data/lib/ratis/landmark.rb +1 -4
- data/lib/ratis/location.rb +1 -3
- data/lib/ratis/location_type_ahead.rb +1 -4
- data/lib/ratis/next_bus.rb +0 -2
- data/lib/ratis/next_bus2.rb +1 -3
- data/lib/ratis/plantrip.rb +1 -3
- data/lib/ratis/request.rb +5 -2
- data/lib/ratis/schedule_nearby.rb +1 -3
- data/lib/ratis/timetable.rb +1 -5
- data/lib/ratis/version.rb +1 -1
- data/lib/ratis/walkstop.rb +1 -3
- data/ratis.gemspec +15 -15
- data/spec/ratis/area_spec.rb +1 -10
- data/spec/ratis/closest_stop_spec.rb +0 -14
- data/spec/ratis/config_spec.rb +21 -30
- data/spec/ratis/core_ext_spec.rb +0 -11
- data/spec/ratis/fleet_location_spec.rb +8 -25
- data/spec/ratis/itinerary_spec.rb +0 -10
- data/spec/ratis/landmark_category_spec.rb +1 -12
- data/spec/ratis/landmark_spec.rb +12 -25
- data/spec/ratis/location_spec.rb +5 -16
- data/spec/ratis/location_type_ahead_item_spec.rb +11 -9
- data/spec/ratis/location_type_ahead_spec.rb +7 -21
- data/spec/ratis/next_bus2_spec.rb +67 -81
- data/spec/ratis/next_bus_spec.rb +20 -37
- data/spec/ratis/pattern_spec.rb +2 -10
- data/spec/ratis/plantrip_spec.rb +19 -18
- data/spec/ratis/point_2_point_spec.rb +3 -11
- data/spec/ratis/request_spec.rb +1 -20
- data/spec/ratis/route_pattern_spec.rb +2 -14
- data/spec/ratis/route_spec.rb +1 -10
- data/spec/ratis/route_stops_spec.rb +1 -10
- data/spec/ratis/routes_spec.rb +1 -9
- data/spec/ratis/schedule_nearby_spec.rb +1 -11
- data/spec/ratis/timetable_spec.rb +24 -44
- data/spec/ratis/walkstop_spec.rb +22 -47
- data/spec/spec_helper.rb +4 -3
- data/spec/support/vcr_cassettes/Nextbus2_running_LATE.yml +141 -1
- data/spec/support/vcr_cassettes/Nextbus_running_LATE.yml +2 -2
- data/spec/support/vcr_cassettes/Point2Point.yml +2 -2
- data/spec/support/vcr_cassettes/Ratis_Area/_all/only_makes_one_request.yml +19 -9
- data/spec/support/vcr_cassettes/Ratis_ClosestStop/_where/only_makes_one_request.yml +9 -9
- data/spec/support/vcr_cassettes/Ratis_ClosestStop/_where/parses_out_the_stop_fields_correctly.yml +9 -9
- data/spec/support/vcr_cassettes/Ratis_ClosestStop/_where/returns_multiple_locations.yml +9 -9
- data/spec/support/vcr_cassettes/Ratis_ClosestStop/_where/should_return_a_collection_of_Ratis_Stop_s_.yml +9 -9
- data/spec/support/vcr_cassettes/Ratis_FleetLocation/_current/only_makes_one_request.yml +661 -563
- data/spec/support/vcr_cassettes/Ratis_FleetLocation/_current/parses_out_the_vehicle_fields_correctly.yml +661 -584
- data/spec/support/vcr_cassettes/Ratis_FleetLocation/_current/returns_multiple_vehicles.yml +661 -575
- data/spec/support/vcr_cassettes/Ratis_FleetLocation/_current/should_return_a_collection_of_Ratis_Vehicle_s_.yml +661 -575
- data/spec/support/vcr_cassettes/Ratis_Landmark/_where/only_makes_one_request.yml +67 -1444
- data/spec/support/vcr_cassettes/Ratis_Landmark/_where/parses_out_the_landmark_fields_correctly.yml +67 -1444
- data/spec/support/vcr_cassettes/Ratis_Landmark/_where/returns_multiple_landmarks.yml +67 -1444
- data/spec/support/vcr_cassettes/Ratis_Landmark/_where/should_return_a_collection_of_Ratis_Landmark_s_.yml +67 -1444
- data/spec/support/vcr_cassettes/Ratis_LandmarkCategory/_all/only_makes_one_request.yml +9 -9
- data/spec/support/vcr_cassettes/Ratis_LandmarkCategory/_all/should_return_a_collection_of_Ratis_LandmarkCategory_s_.yml +9 -9
- data/spec/support/vcr_cassettes/Ratis_LandmarkCategory/_all/should_return_all_landmark_categories.yml +9 -9
- data/spec/support/vcr_cassettes/Ratis_LandmarkCategory/_web_categories/does_something.yml +9 -9
- data/spec/support/vcr_cassettes/Ratis_Location/_where/only_makes_one_request.yml +11 -11
- data/spec/support/vcr_cassettes/Ratis_Location/_where/parses_out_fields_correctly.yml +11 -11
- data/spec/support/vcr_cassettes/Ratis_Location/_where/should_return_a_collection_of_Ratis_Location_s_.yml +11 -11
- data/spec/support/vcr_cassettes/Ratis_LocationTypeAhead/_where/only_makes_one_request.yml +10 -10
- data/spec/support/vcr_cassettes/Ratis_LocationTypeAhead/_where/parses_out_fields_correctly.yml +10 -10
- data/spec/support/vcr_cassettes/Ratis_LocationTypeAhead/_where/should_return_a_collection_of_Ratis_LocationTypeAheadItem_s_.yml +10 -10
- data/spec/support/vcr_cassettes/Ratis_NextBus/_where/multiple_services_returned/only_makes_one_request.yml +29 -28
- data/spec/support/vcr_cassettes/Ratis_NextBus/_where/multiple_services_returned/returns_the_next_4_bus_times.yml +29 -28
- data/spec/support/vcr_cassettes/Ratis_NextBus/_where/multiple_services_returned/should_map_all_the_services_to_service_openstruct_objects.yml +29 -28
- data/spec/support/vcr_cassettes/Ratis_NextBus/_where/multiple_services_returned/should_raise_error_if_datetime_condition_is_not_a_DateTime_or_Time.yml +62 -80
- data/spec/support/vcr_cassettes/Ratis_NextBus/_where/single_service_return/only_makes_one_request.yml +18 -17
- data/spec/support/vcr_cassettes/Ratis_NextBus/_where/single_service_return/returns_the_next_bus_times.yml +18 -17
- data/spec/support/vcr_cassettes/Ratis_NextBus/_where/single_service_return/should_raise_error_if_datetime_condition_is_not_a_DateTime_or_Time.yml +52 -52
- data/spec/support/vcr_cassettes/Ratis_NextBus/_where/single_service_return/should_set_all_the_service_values_to_instance_vars.yml +18 -17
- data/spec/support/vcr_cassettes/Ratis_NextBus2/_where/runs/should_set_the_run_values_to_instance_vars.yml +125 -0
- data/spec/support/vcr_cassettes/Ratis_NextBus2/_where/single_next_bus/only_makes_one_request.yml +125 -0
- data/spec/support/vcr_cassettes/Ratis_NextBus2/_where/single_next_bus/requests_the_correct_SOAP_action.yml +125 -0
- data/spec/support/vcr_cassettes/Ratis_NextBus2/_where/stops/should_set_the_stop_values_to_instance_vars.yml +125 -0
- data/spec/support/vcr_cassettes/Ratis_Pattern/_all/only_makes_one_request.yml +12 -12
- data/spec/support/vcr_cassettes/Ratis_Pattern/_all/should_parse_the_route_info_fields.yml +12 -12
- data/spec/support/vcr_cassettes/Ratis_Pattern/_all/should_return_a_collection_Pattern_RouteInfo_s_.yml +12 -12
- data/spec/support/vcr_cassettes/Ratis_Pattern/_all/should_return_no_data_error_when_date_is_in_the_past.yml +5 -5
- data/spec/support/vcr_cassettes/Ratis_Plantrip/_where/creates_Ratis_Itineraries_for_each_trip_itinerary.yml +30 -30
- data/spec/support/vcr_cassettes/Ratis_Plantrip/_where/only_makes_one_request.yml +30 -30
- data/spec/support/vcr_cassettes/Ratis_Plantrip/_where/returns_a_Plantrip_object.yml +30 -30
- data/spec/support/vcr_cassettes/Ratis_Plantrip/_where/should_set_all_the_Plantrip_values_to_instance_vars.yml +30 -30
- data/spec/support/vcr_cassettes/Ratis_Point2Point/Routesonly_N/_where/gets_the_groups.yml +68 -74
- data/spec/support/vcr_cassettes/Ratis_Point2Point/Routesonly_N/_where/gets_the_trips_within_each_group.yml +68 -74
- data/spec/support/vcr_cassettes/Ratis_Point2Point/Routesonly_N/_where/only_makes_one_request.yml +68 -74
- data/spec/support/vcr_cassettes/Ratis_Point2Point/Routesonly_N/_where/parses_out_the_off_stop_fields.yml +68 -74
- data/spec/support/vcr_cassettes/Ratis_Point2Point/Routesonly_N/_where/parses_out_the_on_stop_fields.yml +68 -74
- data/spec/support/vcr_cassettes/Ratis_Point2Point/Routesonly_N/_where/parses_out_the_service.yml +68 -74
- data/spec/support/vcr_cassettes/Ratis_Point2Point/Routesonly_N/_where/parses_out_the_trip.yml +68 -74
- data/spec/support/vcr_cassettes/Ratis_Point2Point/Routesonly_N/_where/should_only_return_result_groups_for_filtered_route.yml +15 -17
- data/spec/support/vcr_cassettes/Ratis_Point2Point/Routesonly_N/_where/should_only_return_result_groups_for_filtered_routes.yml +19 -21
- data/spec/support/vcr_cassettes/Ratis_Point2Point/Routesonly_N/_where/should_raise_error_if_the_trip_is_NOT_possible_for_a_route_being_attempted_to_filter_on.yml +5 -5
- data/spec/support/vcr_cassettes/Ratis_Point2Point/Routesonly_Y/_where/services_from_origin_to_destination/only_makes_one_request.yml +29 -29
- data/spec/support/vcr_cassettes/Ratis_Point2Point/Routesonly_Y/_where/services_from_origin_to_destination/parses_out_service_fields.yml +29 -29
- data/spec/support/vcr_cassettes/Ratis_Point2Point/Routesonly_Y/_where/services_from_origin_to_destination/returns_a_routes_only_response_for_each_matched_service.yml +29 -29
- data/spec/support/vcr_cassettes/Ratis_Point2Point/Routesonly_Y/_where/services_from_origin_to_destination/returns_all_matching_services_that_fit_the_origin/destination_for_a_given_time_frame.yml +29 -29
- data/spec/support/vcr_cassettes/Ratis_Point2Point/Routesonly_Y/_where/services_from_origin_to_destination/should_NOT_filter_by_passed_in_routes.yml +29 -29
- data/spec/support/vcr_cassettes/Ratis_RoutePattern/_where/only_makes_one_request.yml +133 -70
- data/spec/support/vcr_cassettes/Ratis_RoutePattern/_where/should_parse_the_stop_fields.yml +133 -70
- data/spec/support/vcr_cassettes/Ratis_RoutePattern/_where/should_return_a_collection_Ratis_RoutePattern_Point_s_.yml +132 -69
- data/spec/support/vcr_cassettes/Ratis_RoutePattern/_where/should_return_a_collection_Ratis_RoutePattern_Stop_s_.yml +133 -70
- data/spec/support/vcr_cassettes/Ratis_RouteStops/_all/only_makes_one_request.yml +50 -50
- data/spec/support/vcr_cassettes/Ratis_RouteStops/_all/parses_out_the_stop_fields_correctly.yml +50 -50
- data/spec/support/vcr_cassettes/Ratis_RouteStops/_all/should_return_a_collection_of_Ratis_RouteStops_Stop_s_.yml +50 -50
- data/spec/support/vcr_cassettes/Ratis_Routes/_all/only_makes_one_request.yml +346 -370
- data/spec/support/vcr_cassettes/Ratis_Routes/_all/returns_all_routes.yml +346 -370
- data/spec/support/vcr_cassettes/Ratis_Routes/_all/should_set_directions_and_short_name_to_variables.yml +346 -370
- data/spec/support/vcr_cassettes/Ratis_ScheduleNearby/_where/only_makes_one_request.yml +42 -41
- data/spec/support/vcr_cassettes/Ratis_ScheduleNearby/_where/returns_a_non_nil_ScheduleNearby.yml +42 -41
- data/spec/support/vcr_cassettes/Ratis_ScheduleNearby/_where/returns_a_single_service_at_the_stop.yml +42 -41
- data/spec/support/vcr_cassettes/Ratis_ScheduleNearby/_where/returns_all_the_stops.yml +42 -41
- data/spec/support/vcr_cassettes/Ratis_ScheduleNearby/_where/should_return_no_data_error_when_date_is_in_the_past.yml +5 -5
- data/spec/support/vcr_cassettes/Ratis_Timetable/_where/ATIS_call/should_not_throw_a_500.yml +719 -0
- data/spec/support/vcr_cassettes/Ratis_Timetable/_where/only_makes_one_request.yml +315 -315
- data/spec/support/vcr_cassettes/Ratis_Timetable/_where/should_parse_the_timetable/stop/trip_fields.yml +315 -315
- data/spec/support/vcr_cassettes/Ratis_Timetable/_where/should_return_a_collection_Timetable_Stop_s_.yml +315 -315
- data/spec/support/vcr_cassettes/Ratis_Walkstop/_where/only_makes_one_request.yml +9 -9
- data/spec/support/vcr_cassettes/Ratis_Walkstop/_where/should_set_all_the_walkstop_values_to_instance_vars.yml +9 -9
- metadata +9 -9
- data/.rvmrc +0 -1
- data/spec/support/vcr_cassettes/Ratis_LocationTypeAhead/_where/should_return_a_collection_of_Ratis_Location_s_.yml +0 -54
- data/spec/support/vcr_cassettes/Ratis_NextBus2/_where/Developer_can_find_a_late_bus_to_a_stop/runs/should_set_the_run_values_to_instance_vars.yml +0 -180
- data/spec/support/vcr_cassettes/Ratis_NextBus2/_where/Developer_can_find_a_late_bus_to_a_stop/single_next_bus/only_makes_one_request.yml +0 -180
- data/spec/support/vcr_cassettes/Ratis_NextBus2/_where/Developer_can_find_a_late_bus_to_a_stop/single_next_bus/requests_the_correct_SOAP_action.yml +0 -180
- data/spec/support/vcr_cassettes/Ratis_NextBus2/_where/Developer_can_find_a_late_bus_to_a_stop/stops/should_set_the_stop_values_to_instance_vars.yml +0 -180
@@ -1,14 +1,6 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
3
|
describe Ratis::RoutePattern do
|
4
|
-
before do
|
5
|
-
Ratis.reset
|
6
|
-
Ratis.configure do |config|
|
7
|
-
config.endpoint = 'http://soap.valleymetro.org/cgi-bin-soap-web-262/soap.cgi'
|
8
|
-
config.namespace = 'PX_WEB'
|
9
|
-
end
|
10
|
-
end
|
11
|
-
|
12
4
|
describe '#where', vcr: {} do
|
13
5
|
# :route_short_name => "LTRL", :direction => "E", :date => "01/01/2014", :service_type => 'W', :routeid => "46880"
|
14
6
|
before do
|
@@ -17,7 +9,7 @@ describe Ratis::RoutePattern do
|
|
17
9
|
:direction => 'E',
|
18
10
|
:date => @today,
|
19
11
|
:service_type => 'W',
|
20
|
-
:routeid => '
|
12
|
+
:routeid => '144740'
|
21
13
|
}
|
22
14
|
end
|
23
15
|
|
@@ -34,7 +26,7 @@ describe Ratis::RoutePattern do
|
|
34
26
|
options["Direction"].should eq('E')
|
35
27
|
options["Date"].should eq(@today)
|
36
28
|
options["Servicetype"].should eq('W')
|
37
|
-
options["Routeid"].should eq('
|
29
|
+
options["Routeid"].should eq('144740')
|
38
30
|
|
39
31
|
end.and_return(double('response', :success? => false))
|
40
32
|
|
@@ -116,9 +108,5 @@ describe Ratis::RoutePattern do
|
|
116
108
|
Ratis::RoutePattern.all(conditions)
|
117
109
|
end.to raise_error(ArgumentError, 'You must provide a routeid')
|
118
110
|
end
|
119
|
-
|
120
|
-
|
121
111
|
end
|
122
|
-
|
123
112
|
end
|
124
|
-
|
data/spec/ratis/route_spec.rb
CHANGED
@@ -1,15 +1,6 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
3
|
describe Ratis::Route do
|
4
|
-
before do
|
5
|
-
Ratis.reset
|
6
|
-
Ratis.configure do |config|
|
7
|
-
config.endpoint = 'http://soap.valleymetro.org/cgi-bin-soap-web-262/soap.cgi'
|
8
|
-
config.namespace = 'PX_WEB'
|
9
|
-
end
|
10
|
-
end
|
11
|
-
|
12
|
-
|
13
4
|
describe '#initialize' do
|
14
5
|
it "description" do
|
15
6
|
pending
|
@@ -21,4 +12,4 @@ describe Ratis::Route do
|
|
21
12
|
pending
|
22
13
|
end
|
23
14
|
end
|
24
|
-
end
|
15
|
+
end
|
@@ -1,16 +1,7 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
3
|
describe Ratis::RouteStops do
|
4
|
-
|
5
|
-
Ratis.reset
|
6
|
-
Ratis.configure do |config|
|
7
|
-
config.endpoint = 'http://soap.valleymetro.org/cgi-bin-soap-web-262/soap.cgi'
|
8
|
-
config.namespace = 'PX_WEB'
|
9
|
-
end
|
10
|
-
end
|
11
|
-
|
12
|
-
describe '.all', vcr: {} do
|
13
|
-
|
4
|
+
describe '#all', vcr: {} do
|
14
5
|
before do
|
15
6
|
@today = Time.now.strftime("%m/%d/%Y")
|
16
7
|
@conditions = {:route => '1',
|
data/spec/ratis/routes_spec.rb
CHANGED
@@ -1,20 +1,12 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
3
|
describe Ratis::Routes do
|
4
|
-
before do
|
5
|
-
Ratis.reset
|
6
|
-
Ratis.configure do |config|
|
7
|
-
config.endpoint = 'http://soap.valleymetro.org/cgi-bin-soap-web-262/soap.cgi'
|
8
|
-
config.namespace = 'PX_WEB'
|
9
|
-
end
|
10
|
-
end
|
11
|
-
|
12
4
|
let(:empty_body){ {:allroutes2_response => {:routes => []}} }
|
13
5
|
|
14
6
|
describe '#all', vcr: {} do
|
15
7
|
it 'returns all routes' do
|
16
8
|
response = Ratis::Routes.all
|
17
|
-
expect(response).to have(
|
9
|
+
expect(response).to have(103).items
|
18
10
|
expect(response.all?{|rte| rte.is_a?(Ratis::Route) }).to be_true
|
19
11
|
end
|
20
12
|
|
@@ -1,14 +1,6 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
3
|
describe Ratis::ScheduleNearby do
|
4
|
-
before do
|
5
|
-
Ratis.reset
|
6
|
-
Ratis.configure do |config|
|
7
|
-
config.endpoint = 'http://soap.valleymetro.org/cgi-bin-soap-web-262/soap.cgi'
|
8
|
-
config.namespace = 'PX_WEB'
|
9
|
-
end
|
10
|
-
end
|
11
|
-
|
12
4
|
describe '#where', vcr: {} do
|
13
5
|
before do
|
14
6
|
@today = Time.now.strftime("%m/%d/%Y")
|
@@ -19,8 +11,7 @@ describe Ratis::ScheduleNearby do
|
|
19
11
|
:window => '60',
|
20
12
|
:walk_distance => '0.18',
|
21
13
|
:landmark_id => '0',
|
22
|
-
:stop_id => nil
|
23
|
-
:app_id => 'na' }
|
14
|
+
:stop_id => nil }
|
24
15
|
end
|
25
16
|
|
26
17
|
it 'only makes one request' do
|
@@ -47,7 +38,6 @@ describe Ratis::ScheduleNearby do
|
|
47
38
|
options["Walkdist"].should eq(@conditions[:walk_distance])
|
48
39
|
options["Landmarkid"].should eq(@conditions[:landmark_id])
|
49
40
|
options["Stopid"].should eq('')
|
50
|
-
options["Appid"].should eq(@conditions[:app_id])
|
51
41
|
|
52
42
|
end.and_return(double('response', :success? => false))
|
53
43
|
|
@@ -1,28 +1,14 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
3
|
describe Ratis::Timetable do
|
4
|
-
before do
|
5
|
-
Ratis.reset
|
6
|
-
Ratis.configure do |config|
|
7
|
-
config.endpoint = 'http://soap.valleymetro.org/cgi-bin-soap-web-262/soap.cgi'
|
8
|
-
config.namespace = 'PX_WEB'
|
9
|
-
end
|
10
|
-
end
|
11
|
-
|
12
4
|
describe '#where', vcr: {} do
|
13
|
-
|
14
|
-
|
15
|
-
@today = Time.now.strftime("%m/%d/%Y")
|
16
|
-
@conditions = {:route_short_name => 'ZERO',
|
17
|
-
:direction => 'N',
|
18
|
-
:service_type => 'W',
|
19
|
-
:date => @today}
|
20
|
-
end
|
5
|
+
let(:date) { Chronic.parse('tomorrow at 8am').strftime('%m/%d/%y') }
|
6
|
+
let(:options) { { :service_type=>"W", :route_short_name=>"ZERO", :direction=>"N", date: date } }
|
21
7
|
|
22
8
|
it 'only makes one request' do
|
23
9
|
# false just to stop further processing of response
|
24
10
|
Ratis::Request.should_receive(:get).once.and_call_original
|
25
|
-
Ratis::Timetable.where(
|
11
|
+
Ratis::Timetable.where(options.dup)
|
26
12
|
end
|
27
13
|
|
28
14
|
it 'requests the correct SOAP action with correct args' do
|
@@ -30,26 +16,23 @@ describe Ratis::Timetable do
|
|
30
16
|
action.should eq('Timetable')
|
31
17
|
options["Route"].should eq('ZERO')
|
32
18
|
options["Direction"].should eq('N')
|
33
|
-
options["Date"].should eq(
|
19
|
+
options["Date"].should eq(date)
|
34
20
|
options["Servicetype"].should be_nil
|
35
21
|
|
36
22
|
end.and_return(double('response', :success? => false))
|
37
23
|
|
38
|
-
Ratis::Timetable.where(
|
24
|
+
Ratis::Timetable.where(options.dup)
|
39
25
|
end
|
40
26
|
|
41
27
|
it 'should return a collection Timetable::Stop(s)' do
|
42
|
-
|
43
|
-
timetable = Ratis::Timetable.where(@conditions.dup)
|
28
|
+
timetable = Ratis::Timetable.where(options.dup)
|
44
29
|
timetable.timepoints.each do |obj|
|
45
30
|
expect(obj).to be_a(Ratis::Timetable::Stop)
|
46
31
|
end
|
47
|
-
|
48
32
|
end
|
49
33
|
|
50
34
|
it 'should return a collection Timetable::Stop(s)' do
|
51
|
-
|
52
|
-
timetable = Ratis::Timetable.where(@conditions.dup)
|
35
|
+
timetable = Ratis::Timetable.where(options.dup)
|
53
36
|
timetable.trips.each do |obj|
|
54
37
|
expect(obj).to be_a(Ratis::Timetable::Trip)
|
55
38
|
end
|
@@ -57,20 +40,20 @@ describe Ratis::Timetable do
|
|
57
40
|
end
|
58
41
|
|
59
42
|
it "should parse the timetable/stop/trip fields" do
|
60
|
-
timetable = Ratis::Timetable.where(
|
43
|
+
timetable = Ratis::Timetable.where(options.dup)
|
61
44
|
|
62
45
|
expect(timetable.route_short_name).to eq('ZERO')
|
63
46
|
expect(timetable.direction).to eq('N')
|
64
47
|
expect(timetable.service_type).to eq('Weekday')
|
65
48
|
expect(timetable.operator).to eq('AP')
|
66
|
-
expect(timetable.effective).to eq('
|
49
|
+
expect(timetable.effective).to eq('04/28/14')
|
67
50
|
|
68
51
|
stop = timetable.timepoints.first
|
69
52
|
|
70
53
|
expect(stop.ratis_stop_id).to eq(0)
|
71
54
|
expect(stop.atis_stop_id).to eq('3317')
|
72
55
|
expect(stop.stop_id).to eq('10050')
|
73
|
-
expect(stop.description).to eq('CENTRAL AVE &
|
56
|
+
expect(stop.description).to eq('CENTRAL AVE & DOBBINS RD')
|
74
57
|
expect(stop.area).to eq('Phoenix')
|
75
58
|
|
76
59
|
trip = timetable.trips.first
|
@@ -82,47 +65,44 @@ describe Ratis::Timetable do
|
|
82
65
|
end
|
83
66
|
|
84
67
|
it "should raise error for missing arg route_short_name" do
|
85
|
-
conditions =
|
68
|
+
conditions = options.dup
|
86
69
|
conditions.delete(:route_short_name)
|
87
|
-
|
88
70
|
expect do
|
89
71
|
Ratis::Timetable.where(conditions)
|
90
72
|
end.to raise_error(ArgumentError, 'You must provide a route_short_name')
|
91
73
|
end
|
92
74
|
|
93
75
|
it "should raise error for missing arg direction" do
|
94
|
-
conditions =
|
76
|
+
conditions = options.dup
|
95
77
|
conditions.delete(:direction)
|
96
|
-
|
97
78
|
expect do
|
98
79
|
Ratis::Timetable.where(conditions)
|
99
80
|
end.to raise_error(ArgumentError, 'You must provide a direction')
|
100
81
|
end
|
101
82
|
|
102
83
|
it "should raise error for missing arg date" do
|
103
|
-
conditions =
|
84
|
+
conditions = options.dup
|
104
85
|
conditions.delete(:date)
|
105
86
|
conditions.delete(:service_type)
|
106
|
-
|
107
87
|
expect do
|
108
88
|
Ratis::Timetable.where(conditions)
|
109
89
|
end.to raise_error(ArgumentError, 'You must provide either date or service_type')
|
110
90
|
end
|
111
91
|
|
112
92
|
describe 'ATIS call' do
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
|
93
|
+
it "should not throw a 500" do
|
94
|
+
# This test was added because while our test suite was passing 2/18/14 the real API was throwing 500s and we want to know about things like that. CI
|
95
|
+
expect {
|
96
|
+
Ratis::Timetable.where({
|
97
|
+
:route_short_name => 'ZERO',
|
98
|
+
:direction => 'N',
|
99
|
+
:service_type => 'W',
|
100
|
+
:date => Time.now.strftime("%m/%d/%Y")
|
101
|
+
})
|
102
|
+
}.to_not raise_error
|
103
|
+
end
|
123
104
|
end
|
124
105
|
end
|
125
|
-
end
|
126
106
|
|
127
107
|
end
|
128
108
|
|
data/spec/ratis/walkstop_spec.rb
CHANGED
@@ -1,48 +1,37 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
3
|
describe Ratis::Walkstop do
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
4
|
+
let(:empty_body) { { :walkstop_response => {} } }
|
5
|
+
let(:conditions) {
|
6
|
+
{
|
7
|
+
:start_lat => '33.511990',
|
8
|
+
:start_long => '-111.880344',
|
9
|
+
:end_lat => '33.512091',
|
10
|
+
:end_long => '-111.880349'
|
11
|
+
}
|
12
|
+
}
|
13
13
|
|
14
14
|
describe '#where', vcr: {} do
|
15
|
-
|
16
|
-
before do
|
17
|
-
@conditions = {:start_lat => '33.511990',
|
18
|
-
:start_long => '-111.880344',
|
19
|
-
:end_lat => '33.512091',
|
20
|
-
:end_long => '-111.880349',
|
21
|
-
:app_id => 'na' }
|
22
|
-
end
|
23
|
-
|
24
15
|
it 'only makes one request' do
|
25
16
|
# false just to stop further processing of response
|
26
17
|
Ratis::Request.should_receive(:get).once.and_call_original
|
27
|
-
Ratis::Walkstop.where(
|
18
|
+
Ratis::Walkstop.where(conditions.dup)
|
28
19
|
end
|
29
20
|
|
30
21
|
it 'requests the correct SOAP action' do
|
31
22
|
Ratis::Request.should_receive(:get) do |action, options|
|
32
23
|
action.should eq('Walkstop')
|
33
|
-
options["Startlat"].should eq(
|
34
|
-
options["Startlong"].should eq(
|
35
|
-
options["Endlat"].should eq(
|
36
|
-
options["Endlong"].should eq(
|
37
|
-
options["Appid"].should eq(@conditions[:app_id])
|
38
|
-
|
24
|
+
options["Startlat"].should eq(conditions[:start_lat])
|
25
|
+
options["Startlong"].should eq(conditions[:start_long])
|
26
|
+
options["Endlat"].should eq(conditions[:end_lat])
|
27
|
+
options["Endlong"].should eq(conditions[:end_long])
|
39
28
|
end.and_return(double('response', :success? => false))
|
40
29
|
|
41
|
-
Ratis::Walkstop.where(
|
30
|
+
Ratis::Walkstop.where(conditions.dup)
|
42
31
|
end
|
43
32
|
|
44
33
|
it 'should set all the walkstop values to instance vars' do
|
45
|
-
walkstop = Ratis::Walkstop.where(
|
34
|
+
walkstop = Ratis::Walkstop.where(conditions.dup)
|
46
35
|
|
47
36
|
expect(walkstop).to be_a(Ratis::Walkstop)
|
48
37
|
expect(walkstop.legs).to be_a(Array)
|
@@ -58,37 +47,23 @@ describe Ratis::Walkstop do
|
|
58
47
|
it "should return an empty array if the api request isn't successful" do
|
59
48
|
Ratis::Request.should_receive(:get) do |action, options|
|
60
49
|
action.should eq('Walkstop')
|
61
|
-
options["Startlat"].should eq(
|
62
|
-
options["Startlong"].should eq(
|
63
|
-
options["Endlat"].should eq(
|
64
|
-
options["Endlong"].should eq(
|
65
|
-
options["Appid"].should eq(@conditions[:app_id])
|
50
|
+
options["Startlat"].should eq(conditions[:start_lat])
|
51
|
+
options["Startlong"].should eq(conditions[:start_long])
|
52
|
+
options["Endlat"].should eq(conditions[:end_lat])
|
53
|
+
options["Endlong"].should eq(conditions[:end_long])
|
66
54
|
|
67
55
|
end.and_return(double('response', :success? => false, :body => empty_body)) # false only to stop further running
|
68
56
|
|
69
|
-
expect(Ratis::Walkstop.where(
|
57
|
+
expect(Ratis::Walkstop.where(conditions.dup).legs).to be_empty
|
70
58
|
end
|
71
|
-
|
72
59
|
end
|
73
60
|
|
74
61
|
describe '#to_hash' do
|
75
|
-
before do
|
76
|
-
@conditions = {:start_lat => '33.511990',
|
77
|
-
:start_long => '-111.880344',
|
78
|
-
:end_lat => '33.512091',
|
79
|
-
:end_long => '-111.880349',
|
80
|
-
:app_id => 'na' }
|
81
|
-
end
|
82
|
-
|
83
62
|
it 'returns only the correct keys' do
|
84
|
-
walkstop = Ratis::Walkstop.where(
|
63
|
+
walkstop = Ratis::Walkstop.where(conditions.dup)
|
85
64
|
hash = {:legs=>["Walk a short distance N on Scottsdale Community College."], :walk_distance=>"0.05", :walk_units=>"miles", :walk_time=>"2"}
|
86
65
|
expect( HashDiff.diff(walkstop.to_hash, hash) ).to eql([])
|
87
66
|
end
|
88
|
-
|
89
67
|
end
|
90
|
-
|
91
|
-
|
92
|
-
|
93
68
|
end
|
94
69
|
|
data/spec/spec_helper.rb
CHANGED
@@ -35,7 +35,8 @@ Savon.configure do |config|
|
|
35
35
|
end
|
36
36
|
|
37
37
|
Ratis.configure do |config|
|
38
|
-
config.
|
38
|
+
config.appid = 'ratis-specs'
|
39
|
+
config.endpoint = 'http://soap.valleymetro.org/cgi-bin-soap-web-271/soap.cgi'
|
39
40
|
config.namespace = 'PX_WEB'
|
40
41
|
config.timeout = 5
|
41
42
|
end
|
@@ -48,6 +49,6 @@ VCR.configure do |c|
|
|
48
49
|
c.ignore_localhost = true
|
49
50
|
c.cassette_library_dir = "spec/support/vcr_cassettes"
|
50
51
|
c.allow_http_connections_when_no_cassette = true
|
51
|
-
c.default_cassette_options = { allow_playback_repeats: true, match_requests_on: [:method, :uri, :headers] }
|
52
|
+
c.default_cassette_options = { record: :new_episodes, allow_playback_repeats: true, match_requests_on: [:method, :uri, :headers] }
|
52
53
|
# c.debug_logger = File.open(Rails.root.join('log/vcr.log'), 'w')
|
53
|
-
end
|
54
|
+
end
|
@@ -2,7 +2,7 @@
|
|
2
2
|
http_interactions:
|
3
3
|
- request:
|
4
4
|
method: post
|
5
|
-
uri: http://soap.valleymetro.org/cgi-bin-soap-web-
|
5
|
+
uri: http://soap.valleymetro.org/cgi-bin-soap-web-271/soap.cgi
|
6
6
|
body:
|
7
7
|
encoding: UTF-8
|
8
8
|
string: <?xml version="1.0" encoding="UTF-8"?><env:Envelope xmlns:xsd="http://www.w3.org/2001/XMLSchema"
|
@@ -147,4 +147,144 @@ http_interactions:
|
|
147
147
|
affiliates. All rights reserved.</Copyright>\n\t<Soapversion>2.6.3 - 11/14/13</Soapversion>\n</namesp1:Nextbus2Response></SOAP-ENV:Body></SOAP-ENV:Envelope>"
|
148
148
|
http_version:
|
149
149
|
recorded_at: Wed, 01 Jan 2014 19:52:05 GMT
|
150
|
+
- request:
|
151
|
+
method: post
|
152
|
+
uri: http://soap.valleymetro.org/cgi-bin-soap-web-271/soap.cgi
|
153
|
+
body:
|
154
|
+
encoding: UTF-8
|
155
|
+
string: <?xml version="1.0" encoding="UTF-8"?><env:Envelope xmlns:xsd="http://www.w3.org/2001/XMLSchema"
|
156
|
+
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:wsdl="PX_WEB"
|
157
|
+
xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"><env:Body><Nextbus2
|
158
|
+
xmlns="PX_WEB"><Stopid>10040</Stopid></Nextbus2></env:Body></env:Envelope>
|
159
|
+
headers:
|
160
|
+
Soapaction:
|
161
|
+
- '"PX_WEB#Nextbus2"'
|
162
|
+
Content-Type:
|
163
|
+
- text/xml;charset=UTF-8
|
164
|
+
Content-Length:
|
165
|
+
- '319'
|
166
|
+
Accept-Encoding:
|
167
|
+
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
|
168
|
+
Accept:
|
169
|
+
- '*/*'
|
170
|
+
User-Agent:
|
171
|
+
- Ruby
|
172
|
+
response:
|
173
|
+
status:
|
174
|
+
code: 200
|
175
|
+
message: OK
|
176
|
+
headers:
|
177
|
+
Date:
|
178
|
+
- Fri, 13 Jun 2014 23:58:46 GMT
|
179
|
+
Server:
|
180
|
+
- Apache/2.2.3 (CentOS)
|
181
|
+
Soapserver:
|
182
|
+
- SOAP::Lite/Perl/0.55
|
183
|
+
Content-Length:
|
184
|
+
- '15689'
|
185
|
+
Connection:
|
186
|
+
- close
|
187
|
+
Content-Type:
|
188
|
+
- text/xml; charset=utf-8
|
189
|
+
body:
|
190
|
+
encoding: UTF-8
|
191
|
+
string: "<?xml version=\"1.0\" encoding=\"UTF-8\"?><SOAP-ENV:Envelope xmlns:xsi=\"http://www.w3.org/1999/XMLSchema-instance\"
|
192
|
+
xmlns:SOAP-ENC=\"http://schemas.xmlsoap.org/soap/encoding/\" xmlns:SOAP-ENV=\"http://schemas.xmlsoap.org/soap/envelope/\"
|
193
|
+
xmlns:xsd=\"http://www.w3.org/1999/XMLSchema\" SOAP-ENV:encodingStyle=\"http://schemas.xmlsoap.org/soap/encoding/\"><SOAP-ENV:Body><namesp1:Nextbus2Response
|
194
|
+
xmlns:namesp1=\"PX_WEB\">\n\t<Responsecode>0</Responsecode>\n\t<Version>1.6</Version>\n\t<Input>\n\t\t<Stopid>10040</Stopid>\n\t\t<Atisstopid>0</Atisstopid>\n\t\t<Landmarkid>0</Landmarkid>\n\t\t<Route></Route>\n\t\t<Runs>999</Runs>\n\t\t<Xmode>BCXTFRSLK123</Xmode>\n\t\t<Date>06/13/14</Date>\n\t\t<Time>04:58
|
195
|
+
PM</Time>\n\t</Input>\n\t<Stop>\n\t\t<Description>VAN BUREN ST & 16TH
|
196
|
+
ST</Description>\n\t\t<Area>Phoenix</Area>\n\t\t<Atisstopid>6124</Atisstopid>\n\t\t<Stopid>10040</Stopid>\n\t\t<Lat>33.451493</Lat>\n\t\t<Long>-112.048207</Long>\n\t\t<Stopposition>Y</Stopposition>\n\t\t<Heading>WB</Heading>\n\t\t<Side>Far</Side>\n\t\t<Stopstatustype>N</Stopstatustype>\n\t</Stop>\n\t<Stops>\n\t\t<Stop>\n\t\t\t<Description>VAN
|
197
|
+
BUREN ST & 16TH ST</Description>\n\t\t\t<Area>Phoenix</Area>\n\t\t\t<Atisstopid>6124</Atisstopid>\n\t\t\t<Stopid>10040</Stopid>\n\t\t\t<Lat>33.451493</Lat>\n\t\t\t<Long>-112.048207</Long>\n\t\t\t<Stopposition>Y</Stopposition>\n\t\t\t<Heading>WB</Heading>\n\t\t\t<Side>Far</Side>\n\t\t\t<Stopstatustype>N</Stopstatustype>\n\t\t</Stop>\n\t</Stops>\n\t<Runs>\n\t\t<Run>\n\t\t\t<Route>3</Route>\n\t\t\t<Publicroute>3</Publicroute>\n\t\t\t<Sign>3
|
198
|
+
VAN BUREN West to Avondale</Sign>\n\t\t\t<Operator>FT</Operator>\n\t\t\t<Publicoperator>FT</Publicoperator>\n\t\t\t<Direction>W</Direction>\n\t\t\t<Status>N</Status>\n\t\t\t<Servicetype>W</Servicetype>\n\t\t\t<Routetype>B</Routetype>\n\t\t\t<Triptime>05:06
|
199
|
+
PM</Triptime>\n\t\t\t<Tripid>15763-4</Tripid>\n\t\t\t<Skedtripid> </Skedtripid>\n\t\t\t<Adherence>-8</Adherence>\n\t\t\t<Estimatedtime>05:14
|
200
|
+
PM</Estimatedtime>\n\t\t\t<Realtime>\n\t\t\t\t<Valid>Y</Valid>\n\t\t\t\t<Adherence>-8</Adherence>\n\t\t\t\t<Estimatedtime>05:14
|
201
|
+
PM</Estimatedtime>\n\t\t\t\t<Estimatedminutes>16</Estimatedminutes>\n\t\t\t\t<Polltime>04:57
|
202
|
+
PM</Polltime>\n\t\t\t\t<Trend>S</Trend>\n\t\t\t\t<Speed>0.00</Speed>\n\t\t\t\t<Reliable>Y</Reliable>\n\t\t\t\t<Stopped>N</Stopped>\n\t\t\t\t<Vehicleid>6150</Vehicleid>\n\t\t\t\t<Lat>33.447392</Lat>\n\t\t\t\t<Long>-111.977692</Long>\n\t\t\t</Realtime>\n\t\t\t<Block>2016</Block>\n\t\t\t<Exception>N</Exception>\n\t\t\t<Atisstopid>6124</Atisstopid>\n\t\t\t<Stopid>10040</Stopid>\n\t\t</Run>\n\t\t<Run>\n\t\t\t<Route>3</Route>\n\t\t\t<Publicroute>3</Publicroute>\n\t\t\t<Sign>3
|
203
|
+
VAN BUREN West to 51st Ave.</Sign>\n\t\t\t<Operator>FT</Operator>\n\t\t\t<Publicoperator>FT</Publicoperator>\n\t\t\t<Direction>W</Direction>\n\t\t\t<Status>N</Status>\n\t\t\t<Servicetype>W</Servicetype>\n\t\t\t<Routetype>B</Routetype>\n\t\t\t<Triptime>05:21
|
204
|
+
PM</Triptime>\n\t\t\t<Tripid>15765-9</Tripid>\n\t\t\t<Skedtripid> </Skedtripid>\n\t\t\t<Adherence>0</Adherence>\n\t\t\t<Estimatedtime>05:21
|
205
|
+
PM</Estimatedtime>\n\t\t\t<Realtime>\n\t\t\t\t<Valid>N</Valid>\n\t\t\t\t<Adherence>0</Adherence>\n\t\t\t\t<Estimatedtime>05:21
|
206
|
+
PM</Estimatedtime>\n\t\t\t\t<Estimatedminutes>23</Estimatedminutes>\n\t\t\t\t<Polltime>04:58
|
207
|
+
PM</Polltime>\n\t\t\t\t<Trend>S</Trend>\n\t\t\t\t<Speed>0.00</Speed>\n\t\t\t\t<Reliable>N</Reliable>\n\t\t\t\t<Stopped>N</Stopped>\n\t\t\t\t<Vehicleid>6529</Vehicleid>\n\t\t\t\t<Lat>33.450996</Lat>\n\t\t\t\t<Long>-111.970863</Long>\n\t\t\t</Realtime>\n\t\t\t<Block>2015</Block>\n\t\t\t<Exception>N</Exception>\n\t\t\t<Atisstopid>6124</Atisstopid>\n\t\t\t<Stopid>10040</Stopid>\n\t\t</Run>\n\t\t<Run>\n\t\t\t<Route>3</Route>\n\t\t\t<Publicroute>3</Publicroute>\n\t\t\t<Sign>3
|
208
|
+
VAN BUREN West to Avondale</Sign>\n\t\t\t<Operator>FT</Operator>\n\t\t\t<Publicoperator>FT</Publicoperator>\n\t\t\t<Direction>W</Direction>\n\t\t\t<Status>N</Status>\n\t\t\t<Servicetype>W</Servicetype>\n\t\t\t<Routetype>B</Routetype>\n\t\t\t<Triptime>05:36
|
209
|
+
PM</Triptime>\n\t\t\t<Tripid>15761-6</Tripid>\n\t\t\t<Skedtripid> </Skedtripid>\n\t\t\t<Adherence>0</Adherence>\n\t\t\t<Estimatedtime>05:36
|
210
|
+
PM</Estimatedtime>\n\t\t\t<Realtime>\n\t\t\t\t<Valid>N</Valid>\n\t\t\t\t<Adherence>0</Adherence>\n\t\t\t\t<Estimatedtime>05:36
|
211
|
+
PM</Estimatedtime>\n\t\t\t\t<Estimatedminutes> </Estimatedminutes>\n\t\t\t\t<Polltime></Polltime>\n\t\t\t\t<Trend>
|
212
|
+
</Trend>\n\t\t\t\t<Speed>0.00</Speed>\n\t\t\t\t<Reliable>N</Reliable>\n\t\t\t\t<Stopped>
|
213
|
+
</Stopped>\n\t\t\t\t<Vehicleid></Vehicleid>\n\t\t\t\t<Lat>0.000000</Lat>\n\t\t\t\t<Long>0.000000</Long>\n\t\t\t</Realtime>\n\t\t\t<Block>2014</Block>\n\t\t\t<Exception>N</Exception>\n\t\t\t<Atisstopid>6124</Atisstopid>\n\t\t\t<Stopid>10040</Stopid>\n\t\t</Run>\n\t\t<Run>\n\t\t\t<Route>3</Route>\n\t\t\t<Publicroute>3</Publicroute>\n\t\t\t<Sign>3
|
214
|
+
VAN BUREN West to 51st Ave.</Sign>\n\t\t\t<Operator>FT</Operator>\n\t\t\t<Publicoperator>FT</Publicoperator>\n\t\t\t<Direction>W</Direction>\n\t\t\t<Status>N</Status>\n\t\t\t<Servicetype>W</Servicetype>\n\t\t\t<Routetype>B</Routetype>\n\t\t\t<Triptime>05:51
|
215
|
+
PM</Triptime>\n\t\t\t<Tripid>15765-9</Tripid>\n\t\t\t<Skedtripid> </Skedtripid>\n\t\t\t<Adherence>0</Adherence>\n\t\t\t<Estimatedtime>05:51
|
216
|
+
PM</Estimatedtime>\n\t\t\t<Realtime>\n\t\t\t\t<Valid>N</Valid>\n\t\t\t\t<Adherence>0</Adherence>\n\t\t\t\t<Estimatedtime>05:51
|
217
|
+
PM</Estimatedtime>\n\t\t\t\t<Estimatedminutes> </Estimatedminutes>\n\t\t\t\t<Polltime></Polltime>\n\t\t\t\t<Trend>
|
218
|
+
</Trend>\n\t\t\t\t<Speed>0.00</Speed>\n\t\t\t\t<Reliable>N</Reliable>\n\t\t\t\t<Stopped>
|
219
|
+
</Stopped>\n\t\t\t\t<Vehicleid></Vehicleid>\n\t\t\t\t<Lat>0.000000</Lat>\n\t\t\t\t<Long>0.000000</Long>\n\t\t\t</Realtime>\n\t\t\t<Block>2003</Block>\n\t\t\t<Exception>N</Exception>\n\t\t\t<Atisstopid>6124</Atisstopid>\n\t\t\t<Stopid>10040</Stopid>\n\t\t</Run>\n\t\t<Run>\n\t\t\t<Route>3</Route>\n\t\t\t<Publicroute>3</Publicroute>\n\t\t\t<Sign>3
|
220
|
+
VAN BUREN West to Avondale</Sign>\n\t\t\t<Operator>FT</Operator>\n\t\t\t<Publicoperator>FT</Publicoperator>\n\t\t\t<Direction>W</Direction>\n\t\t\t<Status>N</Status>\n\t\t\t<Servicetype>W</Servicetype>\n\t\t\t<Routetype>B</Routetype>\n\t\t\t<Triptime>06:06
|
221
|
+
PM</Triptime>\n\t\t\t<Tripid>15763-5</Tripid>\n\t\t\t<Skedtripid> </Skedtripid>\n\t\t\t<Adherence>0</Adherence>\n\t\t\t<Estimatedtime>06:06
|
222
|
+
PM</Estimatedtime>\n\t\t\t<Realtime>\n\t\t\t\t<Valid>N</Valid>\n\t\t\t\t<Adherence>0</Adherence>\n\t\t\t\t<Estimatedtime>06:06
|
223
|
+
PM</Estimatedtime>\n\t\t\t\t<Estimatedminutes> </Estimatedminutes>\n\t\t\t\t<Polltime></Polltime>\n\t\t\t\t<Trend>
|
224
|
+
</Trend>\n\t\t\t\t<Speed>0.00</Speed>\n\t\t\t\t<Reliable>N</Reliable>\n\t\t\t\t<Stopped>
|
225
|
+
</Stopped>\n\t\t\t\t<Vehicleid></Vehicleid>\n\t\t\t\t<Lat>0.000000</Lat>\n\t\t\t\t<Long>0.000000</Long>\n\t\t\t</Realtime>\n\t\t\t<Block>2017</Block>\n\t\t\t<Exception>N</Exception>\n\t\t\t<Atisstopid>6124</Atisstopid>\n\t\t\t<Stopid>10040</Stopid>\n\t\t</Run>\n\t\t<Run>\n\t\t\t<Route>3</Route>\n\t\t\t<Publicroute>3</Publicroute>\n\t\t\t<Sign>3
|
226
|
+
VAN BUREN West to 51st Ave.</Sign>\n\t\t\t<Operator>FT</Operator>\n\t\t\t<Publicoperator>FT</Publicoperator>\n\t\t\t<Direction>W</Direction>\n\t\t\t<Status>N</Status>\n\t\t\t<Servicetype>W</Servicetype>\n\t\t\t<Routetype>B</Routetype>\n\t\t\t<Triptime>06:21
|
227
|
+
PM</Triptime>\n\t\t\t<Tripid>15765-10</Tripid>\n\t\t\t<Skedtripid> </Skedtripid>\n\t\t\t<Adherence>0</Adherence>\n\t\t\t<Estimatedtime>06:21
|
228
|
+
PM</Estimatedtime>\n\t\t\t<Realtime>\n\t\t\t\t<Valid>N</Valid>\n\t\t\t\t<Adherence>0</Adherence>\n\t\t\t\t<Estimatedtime>06:21
|
229
|
+
PM</Estimatedtime>\n\t\t\t\t<Estimatedminutes> </Estimatedminutes>\n\t\t\t\t<Polltime></Polltime>\n\t\t\t\t<Trend>
|
230
|
+
</Trend>\n\t\t\t\t<Speed>0.00</Speed>\n\t\t\t\t<Reliable>N</Reliable>\n\t\t\t\t<Stopped>
|
231
|
+
</Stopped>\n\t\t\t\t<Vehicleid></Vehicleid>\n\t\t\t\t<Lat>0.000000</Lat>\n\t\t\t\t<Long>0.000000</Long>\n\t\t\t</Realtime>\n\t\t\t<Block>2009</Block>\n\t\t\t<Exception>N</Exception>\n\t\t\t<Atisstopid>6124</Atisstopid>\n\t\t\t<Stopid>10040</Stopid>\n\t\t</Run>\n\t\t<Run>\n\t\t\t<Route>3</Route>\n\t\t\t<Publicroute>3</Publicroute>\n\t\t\t<Sign>3
|
232
|
+
VAN BUREN West to Avondale</Sign>\n\t\t\t<Operator>FT</Operator>\n\t\t\t<Publicoperator>FT</Publicoperator>\n\t\t\t<Direction>W</Direction>\n\t\t\t<Status>N</Status>\n\t\t\t<Servicetype>W</Servicetype>\n\t\t\t<Routetype>B</Routetype>\n\t\t\t<Triptime>06:36
|
233
|
+
PM</Triptime>\n\t\t\t<Tripid>15761-6</Tripid>\n\t\t\t<Skedtripid> </Skedtripid>\n\t\t\t<Adherence>0</Adherence>\n\t\t\t<Estimatedtime>06:36
|
234
|
+
PM</Estimatedtime>\n\t\t\t<Realtime>\n\t\t\t\t<Valid>N</Valid>\n\t\t\t\t<Adherence>0</Adherence>\n\t\t\t\t<Estimatedtime>06:36
|
235
|
+
PM</Estimatedtime>\n\t\t\t\t<Estimatedminutes> </Estimatedminutes>\n\t\t\t\t<Polltime></Polltime>\n\t\t\t\t<Trend>
|
236
|
+
</Trend>\n\t\t\t\t<Speed>0.00</Speed>\n\t\t\t\t<Reliable>N</Reliable>\n\t\t\t\t<Stopped>
|
237
|
+
</Stopped>\n\t\t\t\t<Vehicleid></Vehicleid>\n\t\t\t\t<Lat>0.000000</Lat>\n\t\t\t\t<Long>0.000000</Long>\n\t\t\t</Realtime>\n\t\t\t<Block>2008</Block>\n\t\t\t<Exception>N</Exception>\n\t\t\t<Atisstopid>6124</Atisstopid>\n\t\t\t<Stopid>10040</Stopid>\n\t\t</Run>\n\t\t<Run>\n\t\t\t<Route>3</Route>\n\t\t\t<Publicroute>3</Publicroute>\n\t\t\t<Sign>3
|
238
|
+
VAN BUREN West to 51st Ave.</Sign>\n\t\t\t<Operator>FT</Operator>\n\t\t\t<Publicoperator>FT</Publicoperator>\n\t\t\t<Direction>W</Direction>\n\t\t\t<Status>N</Status>\n\t\t\t<Servicetype>W</Servicetype>\n\t\t\t<Routetype>B</Routetype>\n\t\t\t<Triptime>06:51
|
239
|
+
PM</Triptime>\n\t\t\t<Tripid>15765-10</Tripid>\n\t\t\t<Skedtripid> </Skedtripid>\n\t\t\t<Adherence>0</Adherence>\n\t\t\t<Estimatedtime>06:51
|
240
|
+
PM</Estimatedtime>\n\t\t\t<Realtime>\n\t\t\t\t<Valid>N</Valid>\n\t\t\t\t<Adherence>0</Adherence>\n\t\t\t\t<Estimatedtime>06:51
|
241
|
+
PM</Estimatedtime>\n\t\t\t\t<Estimatedminutes> </Estimatedminutes>\n\t\t\t\t<Polltime></Polltime>\n\t\t\t\t<Trend>
|
242
|
+
</Trend>\n\t\t\t\t<Speed>0.00</Speed>\n\t\t\t\t<Reliable>N</Reliable>\n\t\t\t\t<Stopped>
|
243
|
+
</Stopped>\n\t\t\t\t<Vehicleid></Vehicleid>\n\t\t\t\t<Lat>0.000000</Lat>\n\t\t\t\t<Long>0.000000</Long>\n\t\t\t</Realtime>\n\t\t\t<Block>2005</Block>\n\t\t\t<Exception>N</Exception>\n\t\t\t<Atisstopid>6124</Atisstopid>\n\t\t\t<Stopid>10040</Stopid>\n\t\t</Run>\n\t\t<Run>\n\t\t\t<Route>3</Route>\n\t\t\t<Publicroute>3</Publicroute>\n\t\t\t<Sign>3
|
244
|
+
VAN BUREN West to Avondale</Sign>\n\t\t\t<Operator>FT</Operator>\n\t\t\t<Publicoperator>FT</Publicoperator>\n\t\t\t<Direction>W</Direction>\n\t\t\t<Status>N</Status>\n\t\t\t<Servicetype>W</Servicetype>\n\t\t\t<Routetype>B</Routetype>\n\t\t\t<Triptime>07:08
|
245
|
+
PM</Triptime>\n\t\t\t<Tripid>15763-5</Tripid>\n\t\t\t<Skedtripid> </Skedtripid>\n\t\t\t<Adherence>0</Adherence>\n\t\t\t<Estimatedtime>07:08
|
246
|
+
PM</Estimatedtime>\n\t\t\t<Realtime>\n\t\t\t\t<Valid>N</Valid>\n\t\t\t\t<Adherence>0</Adherence>\n\t\t\t\t<Estimatedtime>07:08
|
247
|
+
PM</Estimatedtime>\n\t\t\t\t<Estimatedminutes> </Estimatedminutes>\n\t\t\t\t<Polltime></Polltime>\n\t\t\t\t<Trend>
|
248
|
+
</Trend>\n\t\t\t\t<Speed>0.00</Speed>\n\t\t\t\t<Reliable>N</Reliable>\n\t\t\t\t<Stopped>
|
249
|
+
</Stopped>\n\t\t\t\t<Vehicleid></Vehicleid>\n\t\t\t\t<Lat>0.000000</Lat>\n\t\t\t\t<Long>0.000000</Long>\n\t\t\t</Realtime>\n\t\t\t<Block>2012</Block>\n\t\t\t<Exception>N</Exception>\n\t\t\t<Atisstopid>6124</Atisstopid>\n\t\t\t<Stopid>10040</Stopid>\n\t\t</Run>\n\t\t<Run>\n\t\t\t<Route>3</Route>\n\t\t\t<Publicroute>3</Publicroute>\n\t\t\t<Sign>3
|
250
|
+
VAN BUREN West to 51st Ave.</Sign>\n\t\t\t<Operator>FT</Operator>\n\t\t\t<Publicoperator>FT</Publicoperator>\n\t\t\t<Direction>W</Direction>\n\t\t\t<Status>N</Status>\n\t\t\t<Servicetype>W</Servicetype>\n\t\t\t<Routetype>B</Routetype>\n\t\t\t<Triptime>07:23
|
251
|
+
PM</Triptime>\n\t\t\t<Tripid>15765-11</Tripid>\n\t\t\t<Skedtripid> </Skedtripid>\n\t\t\t<Adherence>0</Adherence>\n\t\t\t<Estimatedtime>07:23
|
252
|
+
PM</Estimatedtime>\n\t\t\t<Realtime>\n\t\t\t\t<Valid>N</Valid>\n\t\t\t\t<Adherence>0</Adherence>\n\t\t\t\t<Estimatedtime>07:23
|
253
|
+
PM</Estimatedtime>\n\t\t\t\t<Estimatedminutes> </Estimatedminutes>\n\t\t\t\t<Polltime></Polltime>\n\t\t\t\t<Trend>
|
254
|
+
</Trend>\n\t\t\t\t<Speed>0.00</Speed>\n\t\t\t\t<Reliable>N</Reliable>\n\t\t\t\t<Stopped>
|
255
|
+
</Stopped>\n\t\t\t\t<Vehicleid></Vehicleid>\n\t\t\t\t<Lat>0.000000</Lat>\n\t\t\t\t<Long>0.000000</Long>\n\t\t\t</Realtime>\n\t\t\t<Block>2013</Block>\n\t\t\t<Exception>N</Exception>\n\t\t\t<Atisstopid>6124</Atisstopid>\n\t\t\t<Stopid>10040</Stopid>\n\t\t</Run>\n\t\t<Run>\n\t\t\t<Route>3</Route>\n\t\t\t<Publicroute>3</Publicroute>\n\t\t\t<Sign>3
|
256
|
+
VAN BUREN West to Avondale</Sign>\n\t\t\t<Operator>FT</Operator>\n\t\t\t<Publicoperator>FT</Publicoperator>\n\t\t\t<Direction>W</Direction>\n\t\t\t<Status>N</Status>\n\t\t\t<Servicetype>W</Servicetype>\n\t\t\t<Routetype>B</Routetype>\n\t\t\t<Triptime>07:53
|
257
|
+
PM</Triptime>\n\t\t\t<Tripid>15761-7</Tripid>\n\t\t\t<Skedtripid> </Skedtripid>\n\t\t\t<Adherence>0</Adherence>\n\t\t\t<Estimatedtime>07:53
|
258
|
+
PM</Estimatedtime>\n\t\t\t<Realtime>\n\t\t\t\t<Valid>N</Valid>\n\t\t\t\t<Adherence>0</Adherence>\n\t\t\t\t<Estimatedtime>07:53
|
259
|
+
PM</Estimatedtime>\n\t\t\t\t<Estimatedminutes> </Estimatedminutes>\n\t\t\t\t<Polltime></Polltime>\n\t\t\t\t<Trend>
|
260
|
+
</Trend>\n\t\t\t\t<Speed>0.00</Speed>\n\t\t\t\t<Reliable>N</Reliable>\n\t\t\t\t<Stopped>
|
261
|
+
</Stopped>\n\t\t\t\t<Vehicleid></Vehicleid>\n\t\t\t\t<Lat>0.000000</Lat>\n\t\t\t\t<Long>0.000000</Long>\n\t\t\t</Realtime>\n\t\t\t<Block>2015</Block>\n\t\t\t<Exception>N</Exception>\n\t\t\t<Atisstopid>6124</Atisstopid>\n\t\t\t<Stopid>10040</Stopid>\n\t\t</Run>\n\t\t<Run>\n\t\t\t<Route>3</Route>\n\t\t\t<Publicroute>3</Publicroute>\n\t\t\t<Sign>3
|
262
|
+
VAN BUREN West to 51st Ave.</Sign>\n\t\t\t<Operator>FT</Operator>\n\t\t\t<Publicoperator>FT</Publicoperator>\n\t\t\t<Direction>W</Direction>\n\t\t\t<Status>N</Status>\n\t\t\t<Servicetype>W</Servicetype>\n\t\t\t<Routetype>B</Routetype>\n\t\t\t<Triptime>08:23
|
263
|
+
PM</Triptime>\n\t\t\t<Tripid>15756-0</Tripid>\n\t\t\t<Skedtripid> </Skedtripid>\n\t\t\t<Adherence>0</Adherence>\n\t\t\t<Estimatedtime>08:23
|
264
|
+
PM</Estimatedtime>\n\t\t\t<Realtime>\n\t\t\t\t<Valid>N</Valid>\n\t\t\t\t<Adherence>0</Adherence>\n\t\t\t\t<Estimatedtime>08:23
|
265
|
+
PM</Estimatedtime>\n\t\t\t\t<Estimatedminutes> </Estimatedminutes>\n\t\t\t\t<Polltime></Polltime>\n\t\t\t\t<Trend>
|
266
|
+
</Trend>\n\t\t\t\t<Speed>0.00</Speed>\n\t\t\t\t<Reliable>N</Reliable>\n\t\t\t\t<Stopped>
|
267
|
+
</Stopped>\n\t\t\t\t<Vehicleid></Vehicleid>\n\t\t\t\t<Lat>0.000000</Lat>\n\t\t\t\t<Long>0.000000</Long>\n\t\t\t</Realtime>\n\t\t\t<Block>2006</Block>\n\t\t\t<Exception>N</Exception>\n\t\t\t<Atisstopid>6124</Atisstopid>\n\t\t\t<Stopid>10040</Stopid>\n\t\t</Run>\n\t\t<Run>\n\t\t\t<Route>3</Route>\n\t\t\t<Publicroute>3</Publicroute>\n\t\t\t<Sign>3
|
268
|
+
Van Buren To 75th Avenue</Sign>\n\t\t\t<Operator>FT</Operator>\n\t\t\t<Publicoperator>FT</Publicoperator>\n\t\t\t<Direction>W</Direction>\n\t\t\t<Status>N</Status>\n\t\t\t<Servicetype>W</Servicetype>\n\t\t\t<Routetype>B</Routetype>\n\t\t\t<Triptime>08:53
|
269
|
+
PM</Triptime>\n\t\t\t<Tripid>15757-0</Tripid>\n\t\t\t<Skedtripid> </Skedtripid>\n\t\t\t<Adherence>0</Adherence>\n\t\t\t<Estimatedtime>08:53
|
270
|
+
PM</Estimatedtime>\n\t\t\t<Realtime>\n\t\t\t\t<Valid>N</Valid>\n\t\t\t\t<Adherence>0</Adherence>\n\t\t\t\t<Estimatedtime>08:53
|
271
|
+
PM</Estimatedtime>\n\t\t\t\t<Estimatedminutes> </Estimatedminutes>\n\t\t\t\t<Polltime></Polltime>\n\t\t\t\t<Trend>
|
272
|
+
</Trend>\n\t\t\t\t<Speed>0.00</Speed>\n\t\t\t\t<Reliable>N</Reliable>\n\t\t\t\t<Stopped>
|
273
|
+
</Stopped>\n\t\t\t\t<Vehicleid></Vehicleid>\n\t\t\t\t<Lat>0.000000</Lat>\n\t\t\t\t<Long>0.000000</Long>\n\t\t\t</Realtime>\n\t\t\t<Block>2009</Block>\n\t\t\t<Exception>N</Exception>\n\t\t\t<Atisstopid>6124</Atisstopid>\n\t\t\t<Stopid>10040</Stopid>\n\t\t</Run>\n\t\t<Run>\n\t\t\t<Route>3</Route>\n\t\t\t<Publicroute>3</Publicroute>\n\t\t\t<Sign>3
|
274
|
+
VAN BUREN West to 51st Ave.</Sign>\n\t\t\t<Operator>FT</Operator>\n\t\t\t<Publicoperator>FT</Publicoperator>\n\t\t\t<Direction>W</Direction>\n\t\t\t<Status>N</Status>\n\t\t\t<Servicetype>W</Servicetype>\n\t\t\t<Routetype>B</Routetype>\n\t\t\t<Triptime>09:23
|
275
|
+
PM</Triptime>\n\t\t\t<Tripid>15758-0</Tripid>\n\t\t\t<Skedtripid> </Skedtripid>\n\t\t\t<Adherence>0</Adherence>\n\t\t\t<Estimatedtime>09:23
|
276
|
+
PM</Estimatedtime>\n\t\t\t<Realtime>\n\t\t\t\t<Valid>N</Valid>\n\t\t\t\t<Adherence>0</Adherence>\n\t\t\t\t<Estimatedtime>09:23
|
277
|
+
PM</Estimatedtime>\n\t\t\t\t<Estimatedminutes> </Estimatedminutes>\n\t\t\t\t<Polltime></Polltime>\n\t\t\t\t<Trend>
|
278
|
+
</Trend>\n\t\t\t\t<Speed>0.00</Speed>\n\t\t\t\t<Reliable>N</Reliable>\n\t\t\t\t<Stopped>
|
279
|
+
</Stopped>\n\t\t\t\t<Vehicleid></Vehicleid>\n\t\t\t\t<Lat>0.000000</Lat>\n\t\t\t\t<Long>0.000000</Long>\n\t\t\t</Realtime>\n\t\t\t<Block>2014</Block>\n\t\t\t<Exception>N</Exception>\n\t\t\t<Atisstopid>6124</Atisstopid>\n\t\t\t<Stopid>10040</Stopid>\n\t\t</Run>\n\t\t<Run>\n\t\t\t<Route>3</Route>\n\t\t\t<Publicroute>3</Publicroute>\n\t\t\t<Sign>3
|
280
|
+
Van Buren To 75th Avenue</Sign>\n\t\t\t<Operator>FT</Operator>\n\t\t\t<Publicoperator>FT</Publicoperator>\n\t\t\t<Direction>W</Direction>\n\t\t\t<Status>N</Status>\n\t\t\t<Servicetype>W</Servicetype>\n\t\t\t<Routetype>B</Routetype>\n\t\t\t<Triptime>09:53
|
281
|
+
PM</Triptime>\n\t\t\t<Tripid>15757-0</Tripid>\n\t\t\t<Skedtripid> </Skedtripid>\n\t\t\t<Adherence>0</Adherence>\n\t\t\t<Estimatedtime>09:53
|
282
|
+
PM</Estimatedtime>\n\t\t\t<Realtime>\n\t\t\t\t<Valid>N</Valid>\n\t\t\t\t<Adherence>0</Adherence>\n\t\t\t\t<Estimatedtime>09:53
|
283
|
+
PM</Estimatedtime>\n\t\t\t\t<Estimatedminutes> </Estimatedminutes>\n\t\t\t\t<Polltime></Polltime>\n\t\t\t\t<Trend>
|
284
|
+
</Trend>\n\t\t\t\t<Speed>0.00</Speed>\n\t\t\t\t<Reliable>N</Reliable>\n\t\t\t\t<Stopped>
|
285
|
+
</Stopped>\n\t\t\t\t<Vehicleid></Vehicleid>\n\t\t\t\t<Lat>0.000000</Lat>\n\t\t\t\t<Long>0.000000</Long>\n\t\t\t</Realtime>\n\t\t\t<Block>2013</Block>\n\t\t\t<Exception>N</Exception>\n\t\t\t<Atisstopid>6124</Atisstopid>\n\t\t\t<Stopid>10040</Stopid>\n\t\t</Run>\n\t</Runs>\n\t<Statusinfo></Statusinfo>\n\t<Appid></Appid>\n\t<Requestor>72.222.151.25</Requestor>\n\t<Host>s-rpta-soap</Host>\n\t<Copyright>XML
|
286
|
+
schema Copyright (c) 2003-2014 Trapeze Software ULC, its subsidiaries and
|
287
|
+
affiliates. All rights reserved.</Copyright>\n\t<Soapversion>2.7.1a - 05/14/14</Soapversion>\n</namesp1:Nextbus2Response></SOAP-ENV:Body></SOAP-ENV:Envelope>"
|
288
|
+
http_version:
|
289
|
+
recorded_at: Fri, 13 Jun 2014 23:58:47 GMT
|
150
290
|
recorded_with: VCR 2.8.0
|