ratis 3.3.6 → 3.3.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (107) hide show
  1. checksums.yaml +7 -0
  2. data/.rvmrc +1 -1
  3. data/CHANGELOG +8 -1
  4. data/Gemfile +1 -1
  5. data/Gemfile.lock +33 -35
  6. data/lib/ratis.rb +1 -1
  7. data/lib/ratis/landmark.rb +4 -3
  8. data/lib/ratis/landmark_category.rb +11 -7
  9. data/lib/ratis/location.rb +1 -0
  10. data/lib/ratis/route_stops.rb +0 -6
  11. data/lib/ratis/version.rb +1 -1
  12. data/lib/ratis/walkstop.rb +54 -0
  13. data/ratis.gemspec +3 -5
  14. data/spec/ratis/area_spec.rb +1 -1
  15. data/spec/ratis/closest_stop_spec.rb +2 -2
  16. data/spec/ratis/itinerary_spec.rb +8 -711
  17. data/spec/ratis/landmark_category_spec.rb +40 -32
  18. data/spec/ratis/landmark_spec.rb +4 -33
  19. data/spec/ratis/location_spec.rb +69 -177
  20. data/spec/ratis/next_bus2_spec.rb +21 -21
  21. data/spec/ratis/next_bus_spec.rb +19 -21
  22. data/spec/ratis/pattern_spec.rb +3 -3
  23. data/spec/ratis/plantrip_spec.rb +92 -0
  24. data/spec/ratis/point_2_point_spec.rb +12 -12
  25. data/spec/ratis/request_spec.rb +0 -1
  26. data/spec/ratis/route_pattern_spec.rb +16 -15
  27. data/spec/ratis/route_stops_spec.rb +10 -10
  28. data/spec/ratis/routes_spec.rb +5 -5
  29. data/spec/ratis/schedule_nearby_spec.rb +1 -1
  30. data/spec/ratis/timetable_spec.rb +3 -3
  31. data/spec/ratis/walkstop_spec.rb +94 -0
  32. data/spec/spec_helper.rb +16 -11
  33. data/spec/support/vcr_cassettes/Nextbus2_running_LATE.yml +142 -574
  34. data/spec/support/vcr_cassettes/Nextbus_running_LATE.yml +101 -137
  35. data/spec/support/vcr_cassettes/Point2Point.yml +63 -162
  36. data/spec/support/vcr_cassettes/Ratis_Area/_all/only_makes_one_request.yml +52 -0
  37. data/spec/support/vcr_cassettes/Ratis_ClosestStop/_where/only_makes_one_request.yml +70 -0
  38. data/spec/support/vcr_cassettes/Ratis_ClosestStop/_where/parses_out_the_stop_fields_correctly.yml +70 -0
  39. data/spec/support/vcr_cassettes/Ratis_ClosestStop/_where/returns_multiple_locations.yml +70 -0
  40. data/spec/support/vcr_cassettes/Ratis_ClosestStop/_where/should_return_a_collection_of_Ratis_Stop_s_.yml +70 -0
  41. data/spec/support/vcr_cassettes/Ratis_LandmarkCategory/_all/only_makes_one_request.yml +117 -0
  42. data/spec/support/vcr_cassettes/Ratis_LandmarkCategory/_all/should_return_a_collection_of_Ratis_LandmarkCategory_s_.yml +117 -0
  43. data/spec/support/vcr_cassettes/Ratis_LandmarkCategory/_all/should_return_all_landmark_categories.yml +117 -0
  44. data/spec/support/vcr_cassettes/Ratis_LandmarkCategory/_web_categories/does_something.yml +117 -0
  45. data/spec/support/vcr_cassettes/Ratis_Location/_where/only_makes_one_request.yml +54 -0
  46. data/spec/support/vcr_cassettes/Ratis_Location/_where/parses_out_fields_correctly.yml +54 -0
  47. data/spec/support/vcr_cassettes/Ratis_Location/_where/should_return_a_collection_of_Ratis_Location_s_.yml +54 -0
  48. data/spec/support/vcr_cassettes/Ratis_NextBus/_where/multiple_services_returned/only_makes_one_request.yml +109 -0
  49. data/spec/support/vcr_cassettes/Ratis_NextBus/_where/multiple_services_returned/returns_the_next_4_bus_times.yml +109 -0
  50. data/spec/support/vcr_cassettes/Ratis_NextBus/_where/multiple_services_returned/should_map_all_the_services_to_service_openstruct_objects.yml +109 -0
  51. data/spec/support/vcr_cassettes/Ratis_NextBus/_where/multiple_services_returned/should_raise_error_if_datetime_condition_is_not_a_DateTime_or_Time.yml +211 -0
  52. data/spec/support/vcr_cassettes/Ratis_NextBus/_where/single_service_return/only_makes_one_request.yml +75 -0
  53. data/spec/support/vcr_cassettes/Ratis_NextBus/_where/single_service_return/returns_the_next_bus_times.yml +75 -0
  54. data/spec/support/vcr_cassettes/Ratis_NextBus/_where/single_service_return/should_raise_error_if_datetime_condition_is_not_a_DateTime_or_Time.yml +143 -0
  55. data/spec/support/vcr_cassettes/Ratis_NextBus/_where/single_service_return/should_set_all_the_service_values_to_instance_vars.yml +75 -0
  56. 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 +180 -0
  57. 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 +180 -0
  58. 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 +180 -0
  59. 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 +180 -0
  60. data/spec/support/vcr_cassettes/Ratis_Pattern/_all/only_makes_one_request.yml +56 -0
  61. data/spec/support/vcr_cassettes/Ratis_Pattern/_all/should_parse_the_route_info_fields.yml +56 -0
  62. data/spec/support/vcr_cassettes/Ratis_Pattern/_all/should_return_a_collection_Pattern_RouteInfo_s_.yml +56 -0
  63. data/spec/support/vcr_cassettes/Ratis_Pattern/_all/should_return_no_data_error_when_date_is_in_the_past.yml +53 -0
  64. data/spec/support/vcr_cassettes/Ratis_Plantrip/_where/creates_Ratis_Itineraries_for_each_trip_itinerary.yml +88 -0
  65. data/spec/support/vcr_cassettes/Ratis_Plantrip/_where/only_makes_one_request.yml +88 -0
  66. data/spec/support/vcr_cassettes/Ratis_Plantrip/_where/returns_a_Plantrip_object.yml +88 -0
  67. data/spec/support/vcr_cassettes/Ratis_Plantrip/_where/should_set_all_the_Plantrip_values_to_instance_vars.yml +88 -0
  68. data/spec/support/vcr_cassettes/Ratis_Point2Point/Routesonly_N/_where/gets_the_groups.yml +134 -0
  69. data/spec/support/vcr_cassettes/Ratis_Point2Point/Routesonly_N/_where/gets_the_trips_within_each_group.yml +134 -0
  70. data/spec/support/vcr_cassettes/Ratis_Point2Point/Routesonly_N/_where/only_makes_one_request.yml +134 -0
  71. data/spec/support/vcr_cassettes/Ratis_Point2Point/Routesonly_N/_where/parses_out_the_off_stop_fields.yml +134 -0
  72. data/spec/support/vcr_cassettes/Ratis_Point2Point/Routesonly_N/_where/parses_out_the_on_stop_fields.yml +134 -0
  73. data/spec/support/vcr_cassettes/Ratis_Point2Point/Routesonly_N/_where/parses_out_the_service.yml +134 -0
  74. data/spec/support/vcr_cassettes/Ratis_Point2Point/Routesonly_N/_where/parses_out_the_trip.yml +134 -0
  75. data/spec/support/vcr_cassettes/Ratis_Point2Point/Routesonly_N/_where/should_only_return_result_groups_for_filtered_route.yml +62 -0
  76. data/spec/support/vcr_cassettes/Ratis_Point2Point/Routesonly_N/_where/should_only_return_result_groups_for_filtered_routes.yml +68 -0
  77. 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 +53 -0
  78. data/spec/support/vcr_cassettes/Ratis_Point2Point/Routesonly_Y/_where/services_from_origin_to_destination/only_makes_one_request.yml +72 -0
  79. data/spec/support/vcr_cassettes/Ratis_Point2Point/Routesonly_Y/_where/services_from_origin_to_destination/parses_out_service_fields.yml +72 -0
  80. 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 +72 -0
  81. 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 +72 -0
  82. data/spec/support/vcr_cassettes/Ratis_Point2Point/Routesonly_Y/_where/services_from_origin_to_destination/should_NOT_filter_by_passed_in_routes.yml +72 -0
  83. data/spec/support/vcr_cassettes/Ratis_RoutePattern/_where/only_makes_one_request.yml +152 -0
  84. data/spec/support/vcr_cassettes/Ratis_RoutePattern/_where/should_parse_the_stop_fields.yml +152 -0
  85. data/spec/support/vcr_cassettes/Ratis_RoutePattern/_where/should_return_a_collection_Ratis_RoutePattern_Point_s_.yml +152 -0
  86. data/spec/support/vcr_cassettes/Ratis_RoutePattern/_where/should_return_a_collection_Ratis_RoutePattern_Stop_s_.yml +152 -0
  87. data/spec/support/vcr_cassettes/Ratis_RouteStops/_all/only_makes_one_request.yml +94 -0
  88. data/spec/support/vcr_cassettes/Ratis_RouteStops/_all/parses_out_the_stop_fields_correctly.yml +94 -0
  89. data/spec/support/vcr_cassettes/Ratis_RouteStops/_all/should_return_a_collection_of_Ratis_RouteStops_Stop_s_.yml +94 -0
  90. data/spec/support/vcr_cassettes/Ratis_Routes/_all/only_makes_one_request.yml +779 -0
  91. data/spec/support/vcr_cassettes/Ratis_Routes/_all/returns_all_routes.yml +779 -0
  92. data/spec/support/vcr_cassettes/Ratis_Routes/_all/should_set_directions_and_short_name_to_variables.yml +779 -0
  93. data/spec/support/vcr_cassettes/Ratis_ScheduleNearby/_where/only_makes_one_request.yml +92 -0
  94. data/spec/support/vcr_cassettes/Ratis_ScheduleNearby/_where/returns_a_non_nil_ScheduleNearby.yml +92 -0
  95. data/spec/support/vcr_cassettes/Ratis_ScheduleNearby/_where/returns_a_single_service_at_the_stop.yml +92 -0
  96. data/spec/support/vcr_cassettes/Ratis_ScheduleNearby/_where/returns_all_the_stops.yml +92 -0
  97. data/spec/support/vcr_cassettes/Ratis_ScheduleNearby/_where/should_return_no_data_error_when_date_is_in_the_past.yml +53 -0
  98. data/spec/support/vcr_cassettes/Ratis_Timetable/_where/only_makes_one_request.yml +722 -0
  99. data/spec/support/vcr_cassettes/Ratis_Timetable/_where/should_parse_the_timetable/stop/trip_fields.yml +722 -0
  100. data/spec/support/vcr_cassettes/Ratis_Timetable/_where/should_return_a_collection_Timetable_Stop_s_.yml +722 -0
  101. data/spec/support/vcr_cassettes/Ratis_Walkstop/_where/only_makes_one_request.yml +53 -0
  102. data/spec/support/vcr_cassettes/Ratis_Walkstop/_where/should_set_all_the_walkstop_values_to_instance_vars.yml +53 -0
  103. metadata +241 -219
  104. data/lib/ratis/walk.rb +0 -37
  105. data/spec/ratis/walk_spec.rb +0 -72
  106. data/spec/support/vcr_cassettes/Nextbus.yml +0 -145
  107. data/spec/support/vcr_cassettes/Nextbus2.yml +0 -336
@@ -15,7 +15,7 @@ describe Ratis::NextBus do
15
15
 
16
16
  describe "Developer can find a late bus to a stop" do
17
17
  it "will give developer happiness :-)" do
18
-
18
+ pending
19
19
  @conditions = {:app_id => 'ratis-specs', # a short string that can be used to separate requests from different applications or different modules with
20
20
  :type => 'N',
21
21
  :datetime => Chronic.parse('now') }
@@ -42,7 +42,7 @@ describe Ratis::NextBus do
42
42
  end
43
43
  end
44
44
 
45
- describe '#where', {:vcr => {:cassette_name => "Nextbus_running_LATE", :re_record_interval => 6.months}} do #
45
+ describe '#where', vcr: {} do #
46
46
  # TODO: Light Rails Stops can return 2 Atstop tags... how do we best handle this case
47
47
  describe 'Light Rails stops' do
48
48
  it "description" do
@@ -113,7 +113,7 @@ describe Ratis::NextBus do
113
113
  expect(response).to be_a(Ratis::NextBus)
114
114
  expect(response.services).to be_a(Array)
115
115
 
116
- expect(service.status).to eq('N')
116
+ expect(service.status).to eq('D')
117
117
  expect(service.sign).to eq('0 CENTRAL North to Dunlap/3rd St.')
118
118
  expect(service.routetype).to eq('B')
119
119
  expect(service.times).to eq("05:49 AM, 06:09 AM, 06:29 AM, 06:49 AM")
@@ -130,11 +130,11 @@ describe Ratis::NextBus do
130
130
 
131
131
  lambda {
132
132
  Ratis::NextBus.where(@conditions.dup.merge(:datetime => Time.now))
133
- }.should_not raise_error(ArgumentError)
133
+ }.should_not raise_error
134
134
 
135
135
  lambda {
136
- Ratis::NextBus.where(@conditions.dup.merge(:datetime => DateTime.today))
137
- }.should_not raise_error(ArgumentError)
136
+ Ratis::NextBus.where(@conditions.dup.merge(:datetime => Date.today.to_time))
137
+ }.should_not raise_error
138
138
  end
139
139
 
140
140
  it "should raise error if stop id is not provided" do
@@ -205,25 +205,25 @@ describe Ratis::NextBus do
205
205
  expect(service).to be_a(OpenStruct)
206
206
 
207
207
  expect(service.status).to eq('N')
208
- expect(service.sign).to eq('0 CENTRAL North to Dunlap/3rd St.')
208
+ expect(service.sign).to eq('108 Elliot/48th St West To 40th St/Pecos')
209
209
  expect(service.routetype).to eq('B')
210
- expect(service.times).to eq("05:49 AM, 06:09 AM, 06:29 AM, 06:49 AM")
211
- expect(service.direction).to eq('N')
210
+ expect(service.times).to eq("07:07 AM, 03:07 PM, 03:37 PM, 04:07 PM")
211
+ expect(service.direction).to eq('W')
212
212
  expect(service.servicetype).to eq('W')
213
- expect(service.route).to eq('ZERO')
214
- expect(service.operator).to eq('AP')
213
+ expect(service.route).to eq('108')
214
+ expect(service.operator).to eq('FTE')
215
215
 
216
216
  service = response.services.last
217
217
  expect(service).to be_a(OpenStruct)
218
218
 
219
219
  expect(service.status).to eq('N')
220
- expect(service.sign).to eq('0 CENTRAL North to Dunlap/3rd St.')
220
+ expect(service.sign).to eq('108 Elliot/48th St West To 48th St/Chandler Via Sosmn/Bsnln')
221
221
  expect(service.routetype).to eq('B')
222
- expect(service.times).to eq("05:49 AM, 06:09 AM, 06:29 AM, 06:49 AM")
223
- expect(service.direction).to eq('N')
222
+ expect(service.times).to eq("02:37 PM, 06:37 PM")
223
+ expect(service.direction).to eq('W')
224
224
  expect(service.servicetype).to eq('W')
225
- expect(service.route).to eq('ZERO')
226
- expect(service.operator).to eq('AP')
225
+ expect(service.route).to eq('108')
226
+ expect(service.operator).to eq('FTE')
227
227
  end
228
228
 
229
229
  it "should raise error if datetime condition is not a DateTime or Time" do
@@ -233,11 +233,11 @@ describe Ratis::NextBus do
233
233
 
234
234
  lambda {
235
235
  Ratis::NextBus.where(@conditions.dup.merge(:datetime => Time.now))
236
- }.should_not raise_error(ArgumentError)
236
+ }.should_not raise_error
237
237
 
238
238
  lambda {
239
- Ratis::NextBus.where(@conditions.dup.merge(:datetime => DateTime.today))
240
- }.should_not raise_error(ArgumentError)
239
+ Ratis::NextBus.where(@conditions.dup.merge(:datetime => Date.today.to_time))
240
+ }.should_not raise_error
241
241
  end
242
242
 
243
243
  it "should raise error if stop id is not provided" do
@@ -262,8 +262,6 @@ describe Ratis::NextBus do
262
262
  end
263
263
  end
264
264
 
265
-
266
-
267
265
  end
268
266
 
269
267
  # EXAMPLE RESPONSE
@@ -9,7 +9,7 @@ describe Ratis::Pattern do
9
9
  end
10
10
  end
11
11
 
12
- describe '#all' do
12
+ describe '#all', vcr: {} do
13
13
 
14
14
  before do
15
15
  @today = Chronic.parse('tomorrow at 8am') # Time.now.strftime("%m/%d/%Y")
@@ -63,10 +63,10 @@ describe Ratis::Pattern do
63
63
  expect(routeinfo.operate).to eq('AP')
64
64
  expect(routeinfo.routetype).to eq('B')
65
65
  expect(routeinfo.headsign).to eq("0 CENTRAL North to Dunlap/3rd St.")
66
- expect(routeinfo.routeid).to eq('107070')
66
+ expect(routeinfo.routeid).to eq('123130')
67
67
  expect(routeinfo.route).to eq('ZERO')
68
68
  expect(routeinfo.school).to be_nil
69
- expect(routeinfo.effective).to eq("07/22/13")
69
+ expect(routeinfo.effective).to eq("10/28/13")
70
70
  expect(routeinfo.tripcount).to eq('51')
71
71
 
72
72
  end
@@ -0,0 +1,92 @@
1
+ require 'spec_helper'
2
+
3
+ describe Ratis::Plantrip 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
+
11
+ @datetime = Chronic.parse('next monday at 6am')
12
+ end
13
+
14
+ let(:empty_body){ {:plantrip_response => {:input => {}} }}
15
+
16
+ describe '#where', vcr: {} do
17
+ before do
18
+ @conditions = {
19
+ :datetime => @datetime,
20
+ :minimize => 'T',
21
+ :origin_lat => '33.452082',
22
+ :origin_long => '-112.074374',
23
+ :destination_lat => '33.446347',
24
+ :destination_long => '-112.068689'}
25
+ end
26
+
27
+ it 'only makes one request' do
28
+ # false just to stop further processing of response
29
+ Ratis::Request.should_receive(:get).once.and_call_original
30
+ Ratis::Plantrip.where(@conditions.dup)
31
+ end
32
+
33
+ it 'requests the correct SOAP action' do
34
+ Ratis::Request.should_receive(:get) do |action, options|
35
+ action.should eq('Plantrip')
36
+ options["Appid"].should eq('ratis-gem')
37
+ options["Date"].should eq(@datetime.strftime("%m/%d/%Y"))
38
+ options["Time"].should eq(@datetime.strftime("%H%M"))
39
+ options["Minimize"].should eq('T')
40
+ options['Originlat'].should eq(33.452082)
41
+ options['Originlong'].should eq(-112.074374)
42
+ options['Destinationlat'].should eq(33.446347)
43
+ options['Destinationlong'].should eq(-112.068689)
44
+
45
+ end.and_return(double('response', :success? => false, :body => empty_body, :to_array => [])) # false only to stop further running
46
+
47
+ Ratis::Plantrip.where(@conditions.dup)
48
+ end
49
+
50
+ it 'returns a Plantrip object' do
51
+ @itineraries = Ratis::Plantrip.where(@conditions.dup)
52
+ expect(@itineraries).to be_a(Ratis::Plantrip)
53
+ end
54
+
55
+ it 'creates Ratis::Itineraries for each trip itinerary' do
56
+ @plantrip = Ratis::Plantrip.where(@conditions.dup)
57
+ @plantrip.itineraries.should have(3).items
58
+ expect(@plantrip.itineraries.first).to be_a(Ratis::Itinerary)
59
+ end
60
+
61
+ it "should set all the Plantrip values to instance vars" do
62
+ plantrip = Ratis::Plantrip.where(@conditions.dup)
63
+ expect(plantrip.walkable).to eq(nil)
64
+ expect(plantrip.walkadjust).to eq(nil)
65
+
66
+ input = {
67
+ :accessible => "N",
68
+ :arrdep => "D",
69
+ :date => "01/13/2014",
70
+ :destinationlandmarkid => "0",
71
+ :destinationlat => "33.446347",
72
+ :destinationlong => "-112.068689",
73
+ :destinationtext => "Destination",
74
+ :minimize => "T",
75
+ :originlandmarkid => "0",
76
+ :originlat => "33.452082",
77
+ :originlong => "-112.074374",
78
+ :origintext => "Origin",
79
+ :time => "06:00 AM",
80
+ :walkdestination => "0.50",
81
+ :walkdist => "0.50",
82
+ :walkorigin => "0.50",
83
+ :walkspeed => " 2.00 "
84
+ }
85
+
86
+ HashDiff.diff(plantrip.input, input).should eql []
87
+ end
88
+
89
+ end
90
+
91
+ end
92
+
@@ -10,8 +10,8 @@ describe Ratis::Point2Point do
10
10
  end
11
11
 
12
12
  describe 'Routesonly => Y' do
13
- describe '#where' do
14
- describe 'services from origin to destination', {:vcr => {:cassette_name => "Point2Point"}} do
13
+ describe '#where', vcr: {} do
14
+ describe 'services from origin to destination' do
15
15
  before do
16
16
  @today = Chronic.parse('next monday at 6am').strftime("%m/%d/%Y")
17
17
  @conditions = {:routes_only => true,
@@ -81,7 +81,7 @@ describe Ratis::Point2Point do
81
81
 
82
82
  describe 'Routesonly => N' do
83
83
 
84
- describe '#where' do
84
+ describe '#where', vcr: {} do
85
85
 
86
86
  before do
87
87
  @today = Time.now.strftime("%m/%d/%Y")
@@ -139,11 +139,11 @@ describe Ratis::Point2Point do
139
139
  on_stop.should be_a(Ratis::Point2Point::Stop)
140
140
 
141
141
  on_stop.description.should eql('JEFFERSON ST & 18TH AVE')
142
- on_stop.latitude.should eql(33.446931)
143
- on_stop.longitude.should eql(-112.097903)
142
+ on_stop.latitude.should eql(33.4469)
143
+ on_stop.longitude.should eql(-112.097897)
144
144
  on_stop.atis_stop_id.should eql(9469)
145
- on_stop.walk_dist.should eql(0.01)
146
- on_stop.walk_dir.should eql('E')
145
+ on_stop.walk_dist.should eql(0.013)
146
+ on_stop.walk_dir.should eql('S')
147
147
  on_stop.walk_hint.should eql('N')
148
148
  end
149
149
 
@@ -155,11 +155,11 @@ describe Ratis::Point2Point do
155
155
  off_stop.should be_a(Ratis::Point2Point::Stop)
156
156
 
157
157
  off_stop.description.should eql('JEFFERSON ST & 3RD AVE')
158
- off_stop.latitude.should eql(33.447098)
159
- off_stop.longitude.should eql(-112.077213)
158
+ off_stop.latitude.should eql(33.447029)
159
+ off_stop.longitude.should eql(-112.077181)
160
160
  off_stop.atis_stop_id.should eql(1463)
161
- off_stop.walk_dist.should eql(0.007)
162
- off_stop.walk_dir.should eql('E')
161
+ off_stop.walk_dist.should eql(0.014)
162
+ off_stop.walk_dir.should eql('SE')
163
163
  off_stop.walk_hint.should eql('N')
164
164
  end
165
165
 
@@ -185,7 +185,7 @@ describe Ratis::Point2Point do
185
185
  service.direction.should eql('O')
186
186
  service.service_type.should eql('W')
187
187
  service.signage.should eql('I-10 EAST RAPID To 40 St/Pecos')
188
- service.route_type.should eql('X')
188
+ service.route_type.should eql('N')
189
189
  service.exception.should eql('N')
190
190
  end
191
191
 
@@ -52,7 +52,6 @@ describe Ratis::Request do
52
52
  end.once
53
53
 
54
54
  Ratis::Request.get 'Mymethod'
55
- Ratis::Request.client.rspec_reset
56
55
  end
57
56
 
58
57
  it 'returns the response' do
@@ -9,15 +9,16 @@ describe Ratis::RoutePattern do
9
9
  end
10
10
  end
11
11
 
12
- describe '#where' do
13
-
12
+ describe '#where', vcr: {} do
13
+ # :route_short_name => "LTRL", :direction => "E", :date => "01/01/2014", :service_type => 'W', :routeid => "46880"
14
14
  before do
15
- @today = Chronic.parse('tomorrow at 8am') # Time.now.strftime("%m/%d/%Y")
16
- @conditions = {:route_short_name => '0',
17
- :direction => 'N',
15
+ @today = Chronic.parse('today at 12pm')
16
+ @conditions = {:route_short_name => 'LTRL',
17
+ :direction => 'E',
18
18
  :date => @today,
19
19
  :service_type => 'W',
20
- :routeid => '83720' }
20
+ :routeid => '46880'
21
+ }
21
22
  end
22
23
 
23
24
  it 'only makes one request' do
@@ -29,11 +30,11 @@ describe Ratis::RoutePattern do
29
30
  it 'requests the correct SOAP action' do
30
31
  Ratis::Request.should_receive(:get) do |action, options|
31
32
  action.should eq('Routepattern')
32
- options["Route"].should eq('0')
33
- options["Direction"].should eq('N')
33
+ options["Route"].should eq('LTRL')
34
+ options["Direction"].should eq('E')
34
35
  options["Date"].should eq(@today)
35
36
  options["Servicetype"].should eq('W')
36
- options["Routeid"].should eq('83720')
37
+ options["Routeid"].should eq('46880')
37
38
 
38
39
  end.and_return(double('response', :success? => false))
39
40
 
@@ -60,13 +61,13 @@ describe Ratis::RoutePattern do
60
61
  routepattern = Ratis::RoutePattern.all(@conditions.dup)
61
62
  stop = routepattern.stops.first
62
63
 
63
- expect(stop.desc).to eq('CENTRAL AVE & DOBBINS RD')
64
+ expect(stop.desc).to eq('MONTEBELLO/19TH AVE LIGHT RAIL STATION')
64
65
  expect(stop.area).to eq('Phoenix')
65
- expect(stop.atisid).to eq('3317')
66
- expect(stop.stopid).to eq('10050')
67
- expect(stop.point).to eq("33.36369,-112.07319")
68
- expect(stop.lat).to eq('33.36369')
69
- expect(stop.lng).to eq('-112.07319')
66
+ expect(stop.atisid).to eq('10869')
67
+ expect(stop.stopid).to eq('10001')
68
+ expect(stop.point).to eq("33.52120,-112.09975")
69
+ expect(stop.lat).to eq('33.52120')
70
+ expect(stop.lng).to eq('-112.09975')
70
71
  expect(stop.boardflag).to eq('E')
71
72
  expect(stop.timepoint).to eq('Y')
72
73
  end
@@ -9,12 +9,12 @@ describe Ratis::RouteStops do
9
9
  end
10
10
  end
11
11
 
12
- describe '#all' do
12
+ describe '.all', vcr: {} do
13
13
 
14
14
  before do
15
15
  @today = Time.now.strftime("%m/%d/%Y")
16
- @conditions = {:route => '0',
17
- :direction => 'N',
16
+ @conditions = {:route => '1',
17
+ :direction => 'E',
18
18
  :order => 'A' }
19
19
  end
20
20
 
@@ -27,8 +27,8 @@ describe Ratis::RouteStops do
27
27
  it 'requests the correct SOAP action with correct args' do
28
28
  Ratis::Request.should_receive(:get) do |action, options|
29
29
  action.should eq('Routestops')
30
- options["Route"].should eq('0')
31
- options["Direction"].should eq('N')
30
+ options["Route"].should eq('1')
31
+ options["Direction"].should eq('E')
32
32
  options["Order"].should eq('A')
33
33
 
34
34
  end.and_return(double('response', :success? => false))
@@ -47,15 +47,15 @@ describe Ratis::RouteStops do
47
47
  route_stops = Ratis::RouteStops.all(@conditions.dup)
48
48
  stop = route_stops.first
49
49
 
50
- expect(stop.description).to eq('CENTRAL AVE & ADAMS ST')
50
+ expect(stop.description).to eq('7TH ST & VAN BUREN ST')
51
51
  expect(stop.area).to eq('Phoenix')
52
- expect(stop.atis_stop_id).to eq('2854')
53
- expect(stop.stop_seq).to eq('24')
52
+ expect(stop.atis_stop_id).to eq('4390')
53
+ expect(stop.stop_seq).to eq('20')
54
54
  expect(stop.stop_id).to be_nil
55
55
  expect(stop.point).to be_nil
56
56
  expect(stop.alpha_seq).to be_nil
57
- expect(stop.latitude).to eq('33.448994')
58
- expect(stop.longitude).to eq('-112.073813')
57
+ expect(stop.latitude).to eq('33.450994')
58
+ expect(stop.longitude).to eq('-112.065249')
59
59
  end
60
60
 
61
61
  it "should raise error for missing arg route" do
@@ -11,10 +11,10 @@ describe Ratis::Routes do
11
11
 
12
12
  let(:empty_body){ {:allroutes2_response => {:routes => []}} }
13
13
 
14
- describe '#all' do
14
+ describe '#all', vcr: {} do
15
15
  it 'returns all routes' do
16
16
  response = Ratis::Routes.all
17
- expect(response).to have(111).items
17
+ expect(response).to have(104).items
18
18
  expect(response.all?{|rte| rte.is_a?(Ratis::Route) }).to be_true
19
19
  end
20
20
 
@@ -37,10 +37,10 @@ describe Ratis::Routes do
37
37
 
38
38
  expect(response).to be_a(Array)
39
39
  expect(route).to be_a(Ratis::Route)
40
- expect(route.short_name).to eq('0')
40
+ expect(route.short_name).to eq('1')
41
41
  expect(route.directions).to have(2).directions
42
- expect(route.directions).to include('N')
43
- expect(route.directions).to include('S')
42
+ expect(route.directions).to include('E')
43
+ expect(route.directions).to include('W')
44
44
  end
45
45
 
46
46
  end
@@ -9,7 +9,7 @@ describe Ratis::ScheduleNearby do
9
9
  end
10
10
  end
11
11
 
12
- describe '#where' do
12
+ describe '#where', vcr: {} do
13
13
  before do
14
14
  @today = Time.now.strftime("%m/%d/%Y")
15
15
  @conditions = {:latitude => '33.4556',
@@ -9,7 +9,7 @@ describe Ratis::Timetable do
9
9
  end
10
10
  end
11
11
 
12
- describe '#where' do
12
+ describe '#where', vcr: {} do
13
13
 
14
14
  before do
15
15
  @today = Time.now.strftime("%m/%d/%Y")
@@ -63,14 +63,14 @@ describe Ratis::Timetable do
63
63
  expect(timetable.direction).to eq('N')
64
64
  expect(timetable.service_type).to eq('Weekday')
65
65
  expect(timetable.operator).to eq('AP')
66
- expect(timetable.effective).to eq('07/22/13')
66
+ expect(timetable.effective).to eq('10/28/13')
67
67
 
68
68
  stop = timetable.timepoints.first
69
69
 
70
70
  expect(stop.ratis_stop_id).to eq(0)
71
71
  expect(stop.atis_stop_id).to eq('3317')
72
72
  expect(stop.stop_id).to eq('10050')
73
- expect(stop.description).to eq('CENTRAL AVE & DOBBINS RD')
73
+ expect(stop.description).to eq('CENTRAL AVE & DOBBINS RD')
74
74
  expect(stop.area).to eq('Phoenix')
75
75
 
76
76
  trip = timetable.trips.first