amtrak 0.0.1 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (23) hide show
  1. checksums.yaml +4 -4
  2. data/lib/amtrak/train_fetcher/main_page.rb +2 -4
  3. data/lib/amtrak/train_parser.rb +31 -31
  4. data/lib/amtrak/version.rb +1 -1
  5. data/spec/amtrak/train_fetcher/main_page_spec.rb +4 -4
  6. data/spec/amtrak/train_fetcher/train_page_spec.rb +5 -5
  7. data/spec/amtrak/train_fetcher_spec.rb +16 -16
  8. data/spec/amtrak/train_parser_spec.rb +20 -177
  9. data/spec/amtrak_spec.rb +5 -228
  10. data/spec/fixtures/html/pvd_to_bby.html +2803 -2392
  11. data/spec/fixtures/json/_get.json +1 -0
  12. data/spec/fixtures/json/_parse.json +1 -0
  13. data/spec/fixtures/vcr/Amtrak/_get/returns_a_list_of_train_times.yml +599 -690
  14. data/spec/fixtures/vcr/Amtrak_TrainFetcher/_get/does_the_same_as_get.yml +455 -718
  15. data/spec/fixtures/vcr/Amtrak_TrainFetcher/_get/given_a_valid_date_and_invalid_train_stations/does_not_include_various_classes_and_includes_an_error.yml +129 -115
  16. data/spec/fixtures/vcr/Amtrak_TrainFetcher/_get/given_a_valid_date_and_train_stations/includes_various_classes.yml +449 -717
  17. data/spec/fixtures/vcr/Amtrak_TrainFetcher/_get/given_an_invalid_date_and_valid_train_stations/does_not_include_various_classes_and_includes_an_error.yml +127 -109
  18. data/spec/fixtures/vcr/Amtrak_TrainFetcher_MainPage/_session_id/pulls_the_session_id_from_the_cookies.yml +295 -366
  19. data/spec/fixtures/vcr/Amtrak_TrainFetcher_MainPage/_total_pages/when_more_than_one_page_exists_on_the_website/returns_2.yml +295 -358
  20. data/spec/fixtures/vcr/Amtrak_TrainFetcher_MainPage/_total_pages/when_only_one_page_exists_on_the_website/returns_1.yml +289 -363
  21. data/spec/fixtures/vcr/Amtrak_TrainFetcher_TrainPage/_get/when_it_works/includes_various_classes.yml +164 -213
  22. metadata +6 -4
  23. data/spec/fixtures/vcr/Amtrak_TrainFetcher_MainPage/_total_pages/when_more_than_one_page_exists_on_the_website/returns_1.yml +0 -1076
@@ -8,18 +8,19 @@ http_interactions:
8
8
  string: ''
9
9
  headers:
10
10
  Cookie:
11
- - JSESSIONID=0000ITjAiGUWm-mBBpAyeGZ43Rv:187j4ddrq
11
+ - JSESSIONID=0000faPsyYZwp2n8Wb_4BDhukyg:187j59p07
12
12
  response:
13
13
  status:
14
14
  code: 200
15
15
  message:
16
16
  headers:
17
17
  Content-Length:
18
- - '19020'
18
+ - '12911'
19
19
  Content-Type:
20
20
  - text/html;charset=UTF-8
21
21
  Set-Cookie:
22
- - TS3f5eae=2750936e9044a3889e216922572f4d30ce35612c583388345478d0df; Path=/
22
+ - _op_aixPageId=a2_daea0c65-28d7-4592-a89c-0775764abc46; Path=/, TS3f5eae=e40a68dc3507c8b74d0bc282fcc76cc4351b05b690745ca15484ab855f2a2d3e5c4d6bec;
23
+ Path=/
23
24
  X-powered-by:
24
25
  - Servlet/3.0
25
26
  Content-Language:
@@ -28,220 +29,170 @@ http_interactions:
28
29
  - SAMEORIGIN
29
30
  Expires:
30
31
  - Tue, 01 Jul 2003, 00:00:00 GMT
32
+ X-opnet-transaction-trace:
33
+ - a2_daea0c65-28d7-4592-a89c-0775764abc46
31
34
  Date:
32
- - Fri, 28 Nov 2014 19:45:36 GMT
35
+ - Sun, 07 Dec 2014 19:33:27 GMT
33
36
  Connection:
34
37
  - keep-alive
35
38
  body:
36
39
  encoding: UTF-8
37
- string: "\r\n\r\n\r\n<table id=\"status_results\" cellspacing=\"0\" >\r\n<thead>\r\n<tr>\r\n<th
38
- class=\"service\" scope=\"col\">Service</th>\r\n<th class=\"vector\" scope=\"col\">&nbsp;</th>\r\n<th
39
- class=\"city\" scope=\"col\">City</th>\r\n<th class=\"scheduled\" scope=\"col\">Scheduled</th>\r\n<th
40
- class=\"act_est\" scope=\"col\">Actual /<br>Estimate</th>\r\n<th class=\"status\"
41
- scope=\"col\">Status</th>\r\n</tr>\r\n<tr class=\"spacer\"><td colspan=\"6\">&nbsp;</td></tr>\r\n</thead>\r\n\r\n\r\n<tbody>\r\n\r\n\r\n<tr
42
- class=\"status_result departs whitebackground\">\r\n\r\n<th class=\"service\"
43
- scope=\"rowgroup\" rowspan=\"2\">\r\n<div class=\"route_num\">172</div>\r\n<div
44
- class=\"route_name\">Northeast Regional</div>\r\n\r\n</th>\r\n\r\n\r\n<th
45
- class=\"vector\" scope=\"row\">\r\nFrom\r\n</th>\r\n<td class=\"city\">\r\n<!--
46
- mp_trans_disable_start -->Providence, RI (<a href=\"javascript:var child=window.open('http://www.amtrak.com/servlet/Satellite?SnippetName=IBLegacy&pagename=am/AM_Snippet_C/SnippetWrapper&code=PVD','station','directories=0,dependent=1,menubar=0,top=20,left=20,width=680,height=600,scrollbars=1');child.focus();\">PVD</a>)<!--
47
- mp_trans_disable_end -->\r\n</td>\r\n<td class=\"scheduled\">\r\n\r\n\r\n<div
48
- class=\"time\">2:23 pm</div>\r\n\r\n<div class=\"date\" style=\"white-space:
49
- nowrap;\">Fri Nov 28, 2014</div>\r\n\r\n\r\n\r\n</td>\r\n<td class=\"act_est\">\r\n\r\n<div
50
- class=\"time\">2:36 pm</div>\r\n\r\n<div class=\"date\" style=\"white-space:
51
- nowrap;\">Fri Nov 28, 2014</div>\r\n\r\n\r\n\r\n</td>\r\n<td class=\"lightbluetrainstatusbackground\">\r\n\r\n\r\nDeparted:
52
- \ 13 minutes late.<br/>\r\n\r\n\r\n\r\n\r\n\r\n\r\n</td>\r\n</tr>\r\n\r\n\r\n<tr
53
- class=\"status_result arrives whitebackground\">\r\n\r\n<th class=\"vector\"
54
- scope=\"row\">\r\nTo\r\n</th>\r\n<td class=\"city\">\r\n<!-- mp_trans_disable_start
55
- -->Boston, MA -<br> Back Bay (<a href=\"javascript:var child=window.open('http://www.amtrak.com/servlet/Satellite?SnippetName=IBLegacy&pagename=am/AM_Snippet_C/SnippetWrapper&code=BBY','station','directories=0,dependent=1,menubar=0,top=20,left=20,width=680,height=600,scrollbars=1');child.focus();\">BBY</a>)<!--
56
- mp_trans_disable_end -->\r\n</td>\r\n<td class=\"scheduled\">\r\n\r\n\r\n<div
57
- class=\"time\">3:09 pm</div>\r\n\r\n<div class=\"date\" style=\"white-space:
58
- nowrap;\">Fri Nov 28, 2014</div>\r\n\r\n\r\n</td>\r\n<td class=\"act_est\">\r\n\r\n\r\n\r\n<div
59
- class=\"time\">3:07 pm</div>\r\n\r\n<div class=\"date\" style=\"white-space:
60
- nowrap;\">Fri Nov 28, 2014</div>\r\n\r\n<I>(estimated)</I>\r\n\r\n\r\n\r\n</td>\r\n<td
61
- class=\"lightbluetrainstatusbackground\">\r\n\r\n\r\n\r\nEstimated Arrival
62
- Time: 2 minutes early.<br/>\r\n\r\n\r\n\r\n\r\n\r\n</td>\r\n</tr>\r\n\r\n</tbody>\r\n\r\n\r\n<tr
63
- class=\"spacer\"><td colspan=\"6\">&nbsp;</td></tr>\r\n\r\n\r\n\r\n<tbody>\r\n\r\n\r\n<tr
64
- class=\"status_result departs greybackground\">\r\n\r\n<th class=\"service\"
65
- scope=\"rowgroup\" rowspan=\"2\">\r\n<div class=\"route_num\">2158</div>\r\n<div
66
- class=\"route_name\">Acela Express</div>\r\n\r\n</th>\r\n\r\n\r\n<th class=\"vector\"
67
- scope=\"row\">\r\nFrom\r\n</th>\r\n<td class=\"city\">\r\n<!-- mp_trans_disable_start
68
- -->Providence, RI (<a href=\"javascript:var child=window.open('http://www.amtrak.com/servlet/Satellite?SnippetName=IBLegacy&pagename=am/AM_Snippet_C/SnippetWrapper&code=PVD','station','directories=0,dependent=1,menubar=0,top=20,left=20,width=680,height=600,scrollbars=1');child.focus();\">PVD</a>)<!--
69
- mp_trans_disable_end -->\r\n</td>\r\n<td class=\"scheduled\">\r\n\r\n\r\n<div
70
- class=\"time\">2:54 pm</div>\r\n\r\n<div class=\"date\" style=\"white-space:
71
- nowrap;\">Fri Nov 28, 2014</div>\r\n\r\n\r\n\r\n</td>\r\n<td class=\"act_est\">\r\n\r\n\r\n\r\n<div
72
- class=\"time\">3:02 pm</div>\r\n\r\n<div class=\"date\" style=\"white-space:
73
- nowrap;\">Fri Nov 28, 2014</div>\r\n\r\n<I>(estimated)</I>\r\n\r\n\r\n\r\n</td>\r\n<td
74
- class=\"darkbluetrainstatusbackground\">\r\n\r\n\r\n\r\n\r\nEstimated Departure
75
- Time: 8 minutes late.<br/>\r\n\r\n\r\n\r\n\r\n</td>\r\n</tr>\r\n\r\n\r\n<tr
76
- class=\"status_result arrives greybackground\">\r\n\r\n<th class=\"vector\"
77
- scope=\"row\">\r\nTo\r\n</th>\r\n<td class=\"city\">\r\n<!-- mp_trans_disable_start
78
- -->Boston, MA -<br> Back Bay (<a href=\"javascript:var child=window.open('http://www.amtrak.com/servlet/Satellite?SnippetName=IBLegacy&pagename=am/AM_Snippet_C/SnippetWrapper&code=BBY','station','directories=0,dependent=1,menubar=0,top=20,left=20,width=680,height=600,scrollbars=1');child.focus();\">BBY</a>)<!--
79
- mp_trans_disable_end -->\r\n</td>\r\n<td class=\"scheduled\">\r\n\r\n\r\n<div
80
- class=\"time\">3:36 pm</div>\r\n\r\n<div class=\"date\" style=\"white-space:
81
- nowrap;\">Fri Nov 28, 2014</div>\r\n\r\n\r\n</td>\r\n<td class=\"act_est\">\r\n\r\n\r\n\r\n<div
82
- class=\"time\">3:39 pm</div>\r\n\r\n<div class=\"date\" style=\"white-space:
83
- nowrap;\">Fri Nov 28, 2014</div>\r\n\r\n<I>(estimated)</I>\r\n\r\n\r\n\r\n</td>\r\n<td
84
- class=\"darkbluetrainstatusbackground\">\r\n\r\n\r\n\r\nEstimated Arrival
85
- Time: 3 minutes late.<br/>\r\n\r\n\r\n\r\n\r\n\r\n</td>\r\n</tr>\r\n\r\n</tbody>\r\n\r\n\r\n<tr
86
- class=\"spacer\"><td colspan=\"6\">&nbsp;</td></tr>\r\n\r\n\r\n\r\n<tbody>\r\n\r\n\r\n<tr
87
- class=\"status_result departs whitebackground\">\r\n\r\n<th class=\"service\"
88
- scope=\"rowgroup\" rowspan=\"2\">\r\n<div class=\"route_num\">86</div>\r\n<div
89
- class=\"route_name\">Northeast Regional</div>\r\n\r\n</th>\r\n\r\n\r\n<th
90
- class=\"vector\" scope=\"row\">\r\nFrom\r\n</th>\r\n<td class=\"city\">\r\n<!--
91
- mp_trans_disable_start -->Providence, RI (<a href=\"javascript:var child=window.open('http://www.amtrak.com/servlet/Satellite?SnippetName=IBLegacy&pagename=am/AM_Snippet_C/SnippetWrapper&code=PVD','station','directories=0,dependent=1,menubar=0,top=20,left=20,width=680,height=600,scrollbars=1');child.focus();\">PVD</a>)<!--
92
- mp_trans_disable_end -->\r\n</td>\r\n<td class=\"scheduled\">\r\n\r\n\r\n<div
93
- class=\"time\">3:47 pm</div>\r\n\r\n<div class=\"date\" style=\"white-space:
94
- nowrap;\">Fri Nov 28, 2014</div>\r\n\r\n\r\n\r\n</td>\r\n<td class=\"act_est\">\r\n\r\n\r\n\r\n<div
95
- class=\"time\">3:48 pm</div>\r\n\r\n<div class=\"date\" style=\"white-space:
96
- nowrap;\">Fri Nov 28, 2014</div>\r\n\r\n<I>(estimated)</I>\r\n\r\n\r\n\r\n</td>\r\n<td
97
- class=\"lightbluetrainstatusbackground\">\r\n\r\n\r\n\r\n\r\nEstimated Departure
98
- Time: 1 minute late.<br/>\r\n\r\n\r\n\r\n\r\n</td>\r\n</tr>\r\n\r\n\r\n<tr
99
- class=\"status_result arrives whitebackground\">\r\n\r\n<th class=\"vector\"
100
- scope=\"row\">\r\nTo\r\n</th>\r\n<td class=\"city\">\r\n<!-- mp_trans_disable_start
101
- -->Boston, MA -<br> Back Bay (<a href=\"javascript:var child=window.open('http://www.amtrak.com/servlet/Satellite?SnippetName=IBLegacy&pagename=am/AM_Snippet_C/SnippetWrapper&code=BBY','station','directories=0,dependent=1,menubar=0,top=20,left=20,width=680,height=600,scrollbars=1');child.focus();\">BBY</a>)<!--
102
- mp_trans_disable_end -->\r\n</td>\r\n<td class=\"scheduled\">\r\n\r\n\r\n<div
103
- class=\"time\">4:28 pm</div>\r\n\r\n<div class=\"date\" style=\"white-space:
104
- nowrap;\">Fri Nov 28, 2014</div>\r\n\r\n\r\n</td>\r\n<td class=\"act_est\">\r\n\r\n\r\n\r\n<div
105
- class=\"time\">4:17 pm</div>\r\n\r\n<div class=\"date\" style=\"white-space:
106
- nowrap;\">Fri Nov 28, 2014</div>\r\n\r\n<I>(estimated)</I>\r\n\r\n\r\n\r\n</td>\r\n<td
107
- class=\"lightbluetrainstatusbackground\">\r\n\r\n\r\n\r\nEstimated Arrival
108
- Time: 11 minutes early.<br/>\r\n\r\n\r\n\r\n\r\n\r\n</td>\r\n</tr>\r\n\r\n</tbody>\r\n\r\n\r\n<tr
109
- class=\"spacer\"><td colspan=\"6\">&nbsp;</td></tr>\r\n\r\n\r\n\r\n<tbody>\r\n\r\n\r\n<tr
110
- class=\"status_result departs greybackground\">\r\n\r\n<th class=\"service\"
111
- scope=\"rowgroup\" rowspan=\"2\">\r\n<div class=\"route_num\">174</div>\r\n<div
112
- class=\"route_name\">Northeast Regional</div>\r\n\r\n</th>\r\n\r\n\r\n<th
113
- class=\"vector\" scope=\"row\">\r\nFrom\r\n</th>\r\n<td class=\"city\">\r\n<!--
114
- mp_trans_disable_start -->Providence, RI (<a href=\"javascript:var child=window.open('http://www.amtrak.com/servlet/Satellite?SnippetName=IBLegacy&pagename=am/AM_Snippet_C/SnippetWrapper&code=PVD','station','directories=0,dependent=1,menubar=0,top=20,left=20,width=680,height=600,scrollbars=1');child.focus();\">PVD</a>)<!--
115
- mp_trans_disable_end -->\r\n</td>\r\n<td class=\"scheduled\">\r\n\r\n\r\n<div
116
- class=\"time\">5:30 pm</div>\r\n\r\n<div class=\"date\" style=\"white-space:
117
- nowrap;\">Fri Nov 28, 2014</div>\r\n\r\n\r\n\r\n</td>\r\n<td class=\"act_est\">\r\n\r\n\r\n\r\n<div
118
- class=\"time\">5:31 pm</div>\r\n\r\n<div class=\"date\" style=\"white-space:
119
- nowrap;\">Fri Nov 28, 2014</div>\r\n\r\n<I>(estimated)</I>\r\n\r\n\r\n\r\n</td>\r\n<td
120
- class=\"darkbluetrainstatusbackground\">\r\n\r\n\r\n\r\n\r\nEstimated Departure
121
- Time: 1 minute late.<br/>\r\n\r\n\r\n\r\n\r\n</td>\r\n</tr>\r\n\r\n\r\n<tr
122
- class=\"status_result arrives greybackground\">\r\n\r\n<th class=\"vector\"
123
- scope=\"row\">\r\nTo\r\n</th>\r\n<td class=\"city\">\r\n<!-- mp_trans_disable_start
124
- -->Boston, MA -<br> Back Bay (<a href=\"javascript:var child=window.open('http://www.amtrak.com/servlet/Satellite?SnippetName=IBLegacy&pagename=am/AM_Snippet_C/SnippetWrapper&code=BBY','station','directories=0,dependent=1,menubar=0,top=20,left=20,width=680,height=600,scrollbars=1');child.focus();\">BBY</a>)<!--
125
- mp_trans_disable_end -->\r\n</td>\r\n<td class=\"scheduled\">\r\n\r\n\r\n<div
126
- class=\"time\">6:25 pm</div>\r\n\r\n<div class=\"date\" style=\"white-space:
127
- nowrap;\">Fri Nov 28, 2014</div>\r\n\r\n\r\n</td>\r\n<td class=\"act_est\">\r\n\r\n\r\n\r\n<div
128
- class=\"time\">6:00 pm</div>\r\n\r\n<div class=\"date\" style=\"white-space:
129
- nowrap;\">Fri Nov 28, 2014</div>\r\n\r\n<I>(estimated)</I>\r\n\r\n\r\n\r\n</td>\r\n<td
130
- class=\"darkbluetrainstatusbackground\">\r\n\r\n\r\n\r\nEstimated Arrival
131
- Time: 25 minutes early.<br/>\r\n\r\n\r\n\r\n\r\n\r\n</td>\r\n</tr>\r\n\r\n</tbody>\r\n\r\n\r\n<tr
132
- class=\"spacer\"><td colspan=\"6\">&nbsp;</td></tr>\r\n\r\n\r\n\r\n<tbody>\r\n\r\n\r\n<tr
133
- class=\"status_result departs whitebackground\">\r\n\r\n<th class=\"service\"
134
- scope=\"rowgroup\" rowspan=\"2\">\r\n<div class=\"route_num\">2164</div>\r\n<div
135
- class=\"route_name\">Acela Express</div>\r\n\r\n</th>\r\n\r\n\r\n<th class=\"vector\"
136
- scope=\"row\">\r\nFrom\r\n</th>\r\n<td class=\"city\">\r\n<!-- mp_trans_disable_start
137
- -->Providence, RI (<a href=\"javascript:var child=window.open('http://www.amtrak.com/servlet/Satellite?SnippetName=IBLegacy&pagename=am/AM_Snippet_C/SnippetWrapper&code=PVD','station','directories=0,dependent=1,menubar=0,top=20,left=20,width=680,height=600,scrollbars=1');child.focus();\">PVD</a>)<!--
138
- mp_trans_disable_end -->\r\n</td>\r\n<td class=\"scheduled\">\r\n\r\n\r\n<div
139
- class=\"time\">5:50 pm</div>\r\n\r\n<div class=\"date\" style=\"white-space:
140
- nowrap;\">Fri Nov 28, 2014</div>\r\n\r\n\r\n\r\n</td>\r\n<td class=\"act_est\">\r\n\r\n\r\n\r\n<div
141
- class=\"time\">5:51 pm</div>\r\n\r\n<div class=\"date\" style=\"white-space:
142
- nowrap;\">Fri Nov 28, 2014</div>\r\n\r\n<I>(estimated)</I>\r\n\r\n\r\n\r\n</td>\r\n<td
143
- class=\"lightbluetrainstatusbackground\">\r\n\r\n\r\n\r\n\r\nEstimated Departure
144
- Time: 1 minute late.<br/>\r\n\r\n\r\n\r\n\r\n</td>\r\n</tr>\r\n\r\n\r\n<tr
145
- class=\"status_result arrives whitebackground\">\r\n\r\n<th class=\"vector\"
146
- scope=\"row\">\r\nTo\r\n</th>\r\n<td class=\"city\">\r\n<!-- mp_trans_disable_start
147
- -->Boston, MA -<br> Back Bay (<a href=\"javascript:var child=window.open('http://www.amtrak.com/servlet/Satellite?SnippetName=IBLegacy&pagename=am/AM_Snippet_C/SnippetWrapper&code=BBY','station','directories=0,dependent=1,menubar=0,top=20,left=20,width=680,height=600,scrollbars=1');child.focus();\">BBY</a>)<!--
148
- mp_trans_disable_end -->\r\n</td>\r\n<td class=\"scheduled\">\r\n\r\n\r\n<div
149
- class=\"time\">6:34 pm</div>\r\n\r\n<div class=\"date\" style=\"white-space:
150
- nowrap;\">Fri Nov 28, 2014</div>\r\n\r\n\r\n</td>\r\n<td class=\"act_est\">\r\n\r\n\r\n\r\n<div
151
- class=\"time\">6:28 pm</div>\r\n\r\n<div class=\"date\" style=\"white-space:
152
- nowrap;\">Fri Nov 28, 2014</div>\r\n\r\n<I>(estimated)</I>\r\n\r\n\r\n\r\n</td>\r\n<td
153
- class=\"lightbluetrainstatusbackground\">\r\n\r\n\r\n\r\nEstimated Arrival
154
- Time: 6 minutes early.<br/>\r\n\r\n\r\n\r\n\r\n\r\n</td>\r\n</tr>\r\n\r\n</tbody>\r\n\r\n\r\n<tr
155
- class=\"spacer\"><td colspan=\"6\">&nbsp;</td></tr>\r\n\r\n\r\n\r\n<tbody>\r\n\r\n\r\n<tr
156
- class=\"status_result departs greybackground\">\r\n\r\n<th class=\"service\"
157
- scope=\"rowgroup\" rowspan=\"2\">\r\n<div class=\"route_num\">176</div>\r\n<div
158
- class=\"route_name\">Northeast Regional</div>\r\n\r\n</th>\r\n\r\n\r\n<th
159
- class=\"vector\" scope=\"row\">\r\nFrom\r\n</th>\r\n<td class=\"city\">\r\n<!--
160
- mp_trans_disable_start -->Providence, RI (<a href=\"javascript:var child=window.open('http://www.amtrak.com/servlet/Satellite?SnippetName=IBLegacy&pagename=am/AM_Snippet_C/SnippetWrapper&code=PVD','station','directories=0,dependent=1,menubar=0,top=20,left=20,width=680,height=600,scrollbars=1');child.focus();\">PVD</a>)<!--
161
- mp_trans_disable_end -->\r\n</td>\r\n<td class=\"scheduled\">\r\n\r\n\r\n<div
162
- class=\"time\">7:19 pm</div>\r\n\r\n<div class=\"date\" style=\"white-space:
163
- nowrap;\">Fri Nov 28, 2014</div>\r\n\r\n\r\n\r\n</td>\r\n<td class=\"act_est\">\r\n\r\n\r\n\r\n<div
164
- class=\"time\">7:25 pm</div>\r\n\r\n<div class=\"date\" style=\"white-space:
165
- nowrap;\">Fri Nov 28, 2014</div>\r\n\r\n<I>(estimated)</I>\r\n\r\n\r\n\r\n</td>\r\n<td
166
- class=\"darkbluetrainstatusbackground\">\r\n\r\n\r\n\r\n\r\nEstimated Departure
167
- Time: 6 minutes late.<br/>\r\n\r\n\r\n\r\n\r\n</td>\r\n</tr>\r\n\r\n\r\n<tr
168
- class=\"status_result arrives greybackground\">\r\n\r\n<th class=\"vector\"
169
- scope=\"row\">\r\nTo\r\n</th>\r\n<td class=\"city\">\r\n<!-- mp_trans_disable_start
170
- -->Boston, MA -<br> Back Bay (<a href=\"javascript:var child=window.open('http://www.amtrak.com/servlet/Satellite?SnippetName=IBLegacy&pagename=am/AM_Snippet_C/SnippetWrapper&code=BBY','station','directories=0,dependent=1,menubar=0,top=20,left=20,width=680,height=600,scrollbars=1');child.focus();\">BBY</a>)<!--
171
- mp_trans_disable_end -->\r\n</td>\r\n<td class=\"scheduled\">\r\n\r\n\r\n<div
172
- class=\"time\">8:06 pm</div>\r\n\r\n<div class=\"date\" style=\"white-space:
173
- nowrap;\">Fri Nov 28, 2014</div>\r\n\r\n\r\n</td>\r\n<td class=\"act_est\">\r\n\r\n\r\n\r\n<div
174
- class=\"time\">7:54 pm</div>\r\n\r\n<div class=\"date\" style=\"white-space:
175
- nowrap;\">Fri Nov 28, 2014</div>\r\n\r\n<I>(estimated)</I>\r\n\r\n\r\n\r\n</td>\r\n<td
176
- class=\"darkbluetrainstatusbackground\">\r\n\r\n\r\n\r\nEstimated Arrival
177
- Time: 12 minutes early.<br/>\r\n\r\n\r\n\r\n\r\n\r\n</td>\r\n</tr>\r\n\r\n</tbody>\r\n\r\n\r\n<tr
178
- class=\"spacer\"><td colspan=\"6\">&nbsp;</td></tr>\r\n\r\n\r\n\r\n<tbody>\r\n\r\n\r\n<tr
179
- class=\"status_result departs whitebackground\">\r\n\r\n<th class=\"service\"
180
- scope=\"rowgroup\" rowspan=\"2\">\r\n<div class=\"route_num\">2168</div>\r\n<div
181
- class=\"route_name\">Acela Express</div>\r\n\r\n</th>\r\n\r\n\r\n<th class=\"vector\"
182
- scope=\"row\">\r\nFrom\r\n</th>\r\n<td class=\"city\">\r\n<!-- mp_trans_disable_start
183
- -->Providence, RI (<a href=\"javascript:var child=window.open('http://www.amtrak.com/servlet/Satellite?SnippetName=IBLegacy&pagename=am/AM_Snippet_C/SnippetWrapper&code=PVD','station','directories=0,dependent=1,menubar=0,top=20,left=20,width=680,height=600,scrollbars=1');child.focus();\">PVD</a>)<!--
184
- mp_trans_disable_end -->\r\n</td>\r\n<td class=\"scheduled\">\r\n\r\n\r\n<div
185
- class=\"time\">7:56 pm</div>\r\n\r\n<div class=\"date\" style=\"white-space:
186
- nowrap;\">Fri Nov 28, 2014</div>\r\n\r\n\r\n\r\n</td>\r\n<td class=\"act_est\">\r\n\r\n\r\n\r\n<div
187
- class=\"time\">7:57 pm</div>\r\n\r\n<div class=\"date\" style=\"white-space:
188
- nowrap;\">Fri Nov 28, 2014</div>\r\n\r\n<I>(estimated)</I>\r\n\r\n\r\n\r\n</td>\r\n<td
189
- class=\"lightbluetrainstatusbackground\">\r\n\r\n\r\n\r\n\r\nEstimated Departure
190
- Time: 1 minute late.<br/>\r\n\r\n\r\n\r\n\r\n</td>\r\n</tr>\r\n\r\n\r\n<tr
191
- class=\"status_result arrives whitebackground\">\r\n\r\n<th class=\"vector\"
192
- scope=\"row\">\r\nTo\r\n</th>\r\n<td class=\"city\">\r\n<!-- mp_trans_disable_start
193
- -->Boston, MA -<br> Back Bay (<a href=\"javascript:var child=window.open('http://www.amtrak.com/servlet/Satellite?SnippetName=IBLegacy&pagename=am/AM_Snippet_C/SnippetWrapper&code=BBY','station','directories=0,dependent=1,menubar=0,top=20,left=20,width=680,height=600,scrollbars=1');child.focus();\">BBY</a>)<!--
194
- mp_trans_disable_end -->\r\n</td>\r\n<td class=\"scheduled\">\r\n\r\n\r\n<div
195
- class=\"time\">8:38 pm</div>\r\n\r\n<div class=\"date\" style=\"white-space:
196
- nowrap;\">Fri Nov 28, 2014</div>\r\n\r\n\r\n</td>\r\n<td class=\"act_est\">\r\n\r\n\r\n\r\n<div
197
- class=\"time\">8:34 pm</div>\r\n\r\n<div class=\"date\" style=\"white-space:
198
- nowrap;\">Fri Nov 28, 2014</div>\r\n\r\n<I>(estimated)</I>\r\n\r\n\r\n\r\n</td>\r\n<td
199
- class=\"lightbluetrainstatusbackground\">\r\n\r\n\r\n\r\nEstimated Arrival
200
- Time: 4 minutes early.<br/>\r\n\r\n\r\n\r\n\r\n\r\n</td>\r\n</tr>\r\n\r\n</tbody>\r\n\r\n\r\n<tr
201
- class=\"spacer\"><td colspan=\"6\">&nbsp;</td></tr>\r\n\r\n\r\n\r\n<tbody>\r\n\r\n\r\n<tr
202
- class=\"status_result departs greybackground\">\r\n\r\n<th class=\"service\"
203
- scope=\"rowgroup\" rowspan=\"2\">\r\n<div class=\"route_num\">94</div>\r\n<div
204
- class=\"route_name\">Northeast Regional</div>\r\n\r\n</th>\r\n\r\n\r\n<th
205
- class=\"vector\" scope=\"row\">\r\nFrom\r\n</th>\r\n<td class=\"city\">\r\n<!--
206
- mp_trans_disable_start -->Providence, RI (<a href=\"javascript:var child=window.open('http://www.amtrak.com/servlet/Satellite?SnippetName=IBLegacy&pagename=am/AM_Snippet_C/SnippetWrapper&code=PVD','station','directories=0,dependent=1,menubar=0,top=20,left=20,width=680,height=600,scrollbars=1');child.focus();\">PVD</a>)<!--
207
- mp_trans_disable_end -->\r\n</td>\r\n<td class=\"scheduled\">\r\n\r\n\r\n<div
208
- class=\"time\">9:16 pm</div>\r\n\r\n<div class=\"date\" style=\"white-space:
209
- nowrap;\">Fri Nov 28, 2014</div>\r\n\r\n\r\n\r\n</td>\r\n<td class=\"act_est\">\r\n\r\n\r\n\r\n<div
210
- class=\"time\">9:17 pm</div>\r\n\r\n<div class=\"date\" style=\"white-space:
211
- nowrap;\">Fri Nov 28, 2014</div>\r\n\r\n<I>(estimated)</I>\r\n\r\n\r\n\r\n</td>\r\n<td
212
- class=\"darkbluetrainstatusbackground\">\r\n\r\n\r\n\r\n\r\nEstimated Departure
213
- Time: 1 minute late.<br/>\r\n\r\n\r\n\r\n\r\n</td>\r\n</tr>\r\n\r\n\r\n<tr
214
- class=\"status_result arrives greybackground\">\r\n\r\n<th class=\"vector\"
215
- scope=\"row\">\r\nTo\r\n</th>\r\n<td class=\"city\">\r\n<!-- mp_trans_disable_start
216
- -->Boston, MA -<br> Back Bay (<a href=\"javascript:var child=window.open('http://www.amtrak.com/servlet/Satellite?SnippetName=IBLegacy&pagename=am/AM_Snippet_C/SnippetWrapper&code=BBY','station','directories=0,dependent=1,menubar=0,top=20,left=20,width=680,height=600,scrollbars=1');child.focus();\">BBY</a>)<!--
217
- mp_trans_disable_end -->\r\n</td>\r\n<td class=\"scheduled\">\r\n\r\n\r\n<div
218
- class=\"time\">10:02 pm</div>\r\n\r\n<div class=\"date\" style=\"white-space:
219
- nowrap;\">Fri Nov 28, 2014</div>\r\n\r\n\r\n</td>\r\n<td class=\"act_est\">\r\n\r\n\r\n\r\n<div
220
- class=\"time\">9:46 pm</div>\r\n\r\n<div class=\"date\" style=\"white-space:
221
- nowrap;\">Fri Nov 28, 2014</div>\r\n\r\n<I>(estimated)</I>\r\n\r\n\r\n\r\n</td>\r\n<td
222
- class=\"darkbluetrainstatusbackground\">\r\n\r\n\r\n\r\nEstimated Arrival
223
- Time: 16 minutes early.<br/>\r\n\r\n\r\n\r\n\r\n\r\n</td>\r\n</tr>\r\n\r\n</tbody>\r\n\r\n\r\n<tr
224
- class=\"spacer\"><td colspan=\"6\">&nbsp;</td></tr>\r\n\r\n\r\n\r\n<tbody>\r\n\r\n\r\n<tr
225
- class=\"status_result departs whitebackground\">\r\n\r\n<th class=\"service\"
226
- scope=\"rowgroup\" rowspan=\"2\">\r\n<div class=\"route_num\">2172</div>\r\n<div
227
- class=\"route_name\">Acela Express</div>\r\n\r\n</th>\r\n\r\n\r\n<th class=\"vector\"
228
- scope=\"row\">\r\nFrom\r\n</th>\r\n<td class=\"city\">\r\n<!-- mp_trans_disable_start
229
- -->Providence, RI (<a href=\"javascript:var child=window.open('http://www.amtrak.com/servlet/Satellite?SnippetName=IBLegacy&pagename=am/AM_Snippet_C/SnippetWrapper&code=PVD','station','directories=0,dependent=1,menubar=0,top=20,left=20,width=680,height=600,scrollbars=1');child.focus();\">PVD</a>)<!--
230
- mp_trans_disable_end -->\r\n</td>\r\n<td class=\"scheduled\">\r\n\r\n\r\n<div
231
- class=\"time\">9:54 pm</div>\r\n\r\n<div class=\"date\" style=\"white-space:
232
- nowrap;\">Fri Nov 28, 2014</div>\r\n\r\n\r\n\r\n</td>\r\n<td class=\"act_est\">\r\n\r\n\r\n\r\n&nbsp;\r\n\r\n</td>\r\n<td
233
- class=\"lightbluetrainstatusbackground\">\r\n\r\n\r\n\r\n\r\n\r\n\r\nThe scheduled
234
- departure time is 9:54 pm. Presently, no further information is available.
235
- Please check back later for updated information.<br/>\r\n\r\n\r\n</td>\r\n</tr>\r\n\r\n\r\n<tr
236
- class=\"status_result arrives whitebackground\">\r\n\r\n<th class=\"vector\"
237
- scope=\"row\">\r\nTo\r\n</th>\r\n<td class=\"city\">\r\n<!-- mp_trans_disable_start
238
- -->Boston, MA -<br> Back Bay (<a href=\"javascript:var child=window.open('http://www.amtrak.com/servlet/Satellite?SnippetName=IBLegacy&pagename=am/AM_Snippet_C/SnippetWrapper&code=BBY','station','directories=0,dependent=1,menubar=0,top=20,left=20,width=680,height=600,scrollbars=1');child.focus();\">BBY</a>)<!--
239
- mp_trans_disable_end -->\r\n</td>\r\n<td class=\"scheduled\">\r\n\r\n\r\n<div
240
- class=\"time\">10:35 pm</div>\r\n\r\n<div class=\"date\" style=\"white-space:
241
- nowrap;\">Fri Nov 28, 2014</div>\r\n\r\n\r\n</td>\r\n<td class=\"act_est\">\r\n\r\n\r\n\r\n&nbsp;\r\n\r\n</td>\r\n<td
242
- class=\"lightbluetrainstatusbackground\">\r\n\r\n\r\n\r\n\r\n\r\n\r\nThe scheduled
243
- arrival time is 10:35 pm. Presently, no further information is available.
244
- Please check back later for updated information.<br/>\r\n\r\n\r\n</td>\r\n</tr>\r\n\r\n</tbody>\r\n\r\n\r\n\r\n</table>\r\n\r\n"
40
+ string: "\r\n\r\n\r\n\r\n<div id=\"train_status_resp_by_citypair_heading\">\r\n\r\n<div
41
+ id=\"resp_by_citypair_heading_left\">\r\n<div>PVD</div>\r\n<div id=\"resp_by_citypair_heading_line2\">Providence,
42
+ RI</div>\r\n</div>\r\n<div id=\"resp_by_citypair_heading_middle\">\r\n<img
43
+ alt=\"\" src=\"/images/en/station-to-station-arrow.png\" />\r\n</div>\r\n<div
44
+ id=\"resp_by_citypair_heading_right\">\r\n<div>BBY</div>\r\n<div id=\"resp_by_citypair_heading_line2\">Boston,
45
+ MA</div>\r\n</div>\r\n\r\n</div>\r\n<div id=\"train_status_spacing1\"></div>\r\n\r\n\r\n<div
46
+ id=\"train_status_resp_by_citypair\">\r\n<div id=\"resp_by_citypair_subheading\">\r\n<div
47
+ id=\"resp_by_citypair_subheading_trainname\">\r\n178&nbsp;Northeast Regional\r\n</div>\r\n</div>\r\n\r\n<div
48
+ id=\"resp_by_citypair_depart_status_details\">\r\n\r\n\r\n<div class=\"statusDetailsSection\">\r\n<div
49
+ class=\"cityName\">PVD</div>\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n<div class=\"arriveDepartDelayedMsg\">
50
+ Departed</div>\r\n<div class=\"delayedMsg\">4 minutes late</div>\r\n\r\n<div
51
+ class=\"arriveDepartTime\">11:41 pm</div>\r\n<div class=\"arriveDepartDate\">Fri,
52
+ Dec 5 2014</div>\r\n\r\n\r\n\r\n<div class=\"scheduledArriveDepartMsg\">\r\nScheduled
53
+ Departure&nbsp;11:37 pm\r\n</div>\r\n\r\n\r\n</div>\r\n\r\n</div>\r\n\r\n<div
54
+ id=\"resp_by_citypair_arrow_img\">\r\n\r\n\r\n\r\n\r\n\r\n<img src=\"/images/en/ontime-arrived.png\"
55
+ />\r\n\r\n\r\n\r\n\r\n\r\n\r\n</div>\r\n\r\n<div id=\"resp_by_citypair_arrive_status_details\">\r\n\r\n\r\n<div
56
+ class=\"statusDetailsSection\">\r\n<div class=\"cityName\">BBY</div>\r\n\r\n\r\n\r\n\r\n\r\n\r\n<div
57
+ class=\"arriveDepartOntimeMsg\"> Arrived</div>\r\n<div class=\"ontimeMsg\">9
58
+ minutes early</div>\r\n\r\n\r\n<div class=\"arriveDepartTime\">12:15 am</div>\r\n<div
59
+ class=\"arriveDepartDate\">Sat, Dec 6 2014</div>\r\n\r\n\r\n\r\n\r\n\r\n\r\n<div
60
+ class=\"scheduledArriveDepartMsg\">\r\nScheduled Arrival&nbsp;12:24 am\r\n</div>\r\n\r\n\r\n\r\n</div>\r\n\r\n</div>\r\n\r\n</div>\r\n\r\n<div
61
+ id=\"train_status_spacing\"></div>\r\n\r\n\r\n<div id=\"train_status_resp_by_citypair\">\r\n<div
62
+ id=\"resp_by_citypair_subheading\">\r\n<div id=\"resp_by_citypair_subheading_trainname\">\r\n66&nbsp;Northeast
63
+ Regional\r\n</div>\r\n</div>\r\n\r\n<div id=\"resp_by_citypair_depart_status_details\">\r\n\r\n\r\n<div
64
+ class=\"statusDetailsSection\">\r\n<div class=\"cityName\">PVD</div>\r\n\r\n\r\n\r\n\r\n\r\n\r\n<div
65
+ class=\"arriveDepartOntimeMsg\"> Departed</div>\r\n<div class=\"ontimeMsg\">On
66
+ time</div>\r\n\r\n\r\n<div class=\"arriveDepartTime\">6:56 am</div>\r\n<div
67
+ class=\"arriveDepartDate\">Sat, Dec 6 2014</div>\r\n\r\n\r\n\r\n<div class=\"scheduledArriveDepartMsg\">\r\nScheduled
68
+ Departure&nbsp;6:56 am\r\n</div>\r\n\r\n\r\n</div>\r\n\r\n</div>\r\n\r\n<div
69
+ id=\"resp_by_citypair_arrow_img\">\r\n\r\n\r\n\r\n\r\n\r\n\r\n<img src=\"/images/en/delayed-arrived.png\"
70
+ />\r\n\r\n\r\n\r\n\r\n\r\n</div>\r\n\r\n<div id=\"resp_by_citypair_arrive_status_details\">\r\n\r\n\r\n<div
71
+ class=\"statusDetailsSection\">\r\n<div class=\"cityName\">BBY</div>\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n<div
72
+ class=\"arriveDepartDelayedMsg\"> Arrived</div>\r\n<div class=\"delayedMsg\">2
73
+ minutes late</div>\r\n\r\n<div class=\"arriveDepartTime\">7:54 am</div>\r\n<div
74
+ class=\"arriveDepartDate\">Sat, Dec 6 2014</div>\r\n\r\n\r\n\r\n\r\n\r\n\r\n<div
75
+ class=\"scheduledArriveDepartMsg\">\r\nScheduled Arrival&nbsp;7:53 am\r\n</div>\r\n\r\n\r\n\r\n</div>\r\n\r\n</div>\r\n\r\n</div>\r\n\r\n<div
76
+ id=\"train_status_spacing\"></div>\r\n\r\n\r\n<div id=\"train_status_resp_by_citypair\">\r\n<div
77
+ id=\"resp_by_citypair_subheading\">\r\n<div id=\"resp_by_citypair_subheading_trainname\">\r\n150&nbsp;Northeast
78
+ Regional\r\n</div>\r\n</div>\r\n\r\n<div id=\"resp_by_citypair_depart_status_details\">\r\n\r\n\r\n<div
79
+ class=\"statusDetailsSection\">\r\n<div class=\"cityName\">PVD</div>\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n<div
80
+ class=\"arriveDepartDelayedMsg\"> Departed</div>\r\n<div class=\"delayedMsg\">10
81
+ minutes late</div>\r\n\r\n<div class=\"arriveDepartTime\">10:35 am</div>\r\n<div
82
+ class=\"arriveDepartDate\">Sat, Dec 6 2014</div>\r\n\r\n\r\n\r\n<div class=\"scheduledArriveDepartMsg\">\r\nScheduled
83
+ Departure&nbsp;10:25 am\r\n</div>\r\n\r\n\r\n</div>\r\n\r\n</div>\r\n\r\n<div
84
+ id=\"resp_by_citypair_arrow_img\">\r\n\r\n\r\n\r\n\r\n\r\n\r\n<img src=\"/images/en/delayed-arrived.png\"
85
+ />\r\n\r\n\r\n\r\n\r\n\r\n</div>\r\n\r\n<div id=\"resp_by_citypair_arrive_status_details\">\r\n\r\n\r\n<div
86
+ class=\"statusDetailsSection\">\r\n<div class=\"cityName\">BBY</div>\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n<div
87
+ class=\"arriveDepartDelayedMsg\"> Arrived</div>\r\n<div class=\"delayedMsg\">4
88
+ minutes late</div>\r\n\r\n<div class=\"arriveDepartTime\">11:13 am</div>\r\n<div
89
+ class=\"arriveDepartDate\">Sat, Dec 6 2014</div>\r\n\r\n\r\n\r\n\r\n\r\n\r\n<div
90
+ class=\"scheduledArriveDepartMsg\">\r\nScheduled Arrival&nbsp;11:09 am\r\n</div>\r\n\r\n\r\n\r\n</div>\r\n\r\n</div>\r\n\r\n</div>\r\n\r\n<div
91
+ id=\"train_status_spacing\"></div>\r\n\r\n\r\n<div id=\"train_status_resp_by_citypair\">\r\n<div
92
+ id=\"resp_by_citypair_subheading\">\r\n<div id=\"resp_by_citypair_subheading_trainname\">\r\n2290&nbsp;Acela
93
+ Express\r\n</div>\r\n</div>\r\n\r\n<div id=\"resp_by_citypair_depart_status_details\">\r\n\r\n\r\n<div
94
+ class=\"statusDetailsSection\">\r\n<div class=\"cityName\">PVD</div>\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n<div
95
+ class=\"arriveDepartDelayedMsg\"> Departed</div>\r\n<div class=\"delayedMsg\">13
96
+ minutes late</div>\r\n\r\n<div class=\"arriveDepartTime\">11:10 am</div>\r\n<div
97
+ class=\"arriveDepartDate\">Sat, Dec 6 2014</div>\r\n\r\n\r\n\r\n<div class=\"scheduledArriveDepartMsg\">\r\nScheduled
98
+ Departure&nbsp;10:57 am\r\n</div>\r\n\r\n\r\n</div>\r\n\r\n</div>\r\n\r\n<div
99
+ id=\"resp_by_citypair_arrow_img\">\r\n\r\n\r\n\r\n\r\n\r\n\r\n<img src=\"/images/en/delayed-arrived.png\"
100
+ />\r\n\r\n\r\n\r\n\r\n\r\n</div>\r\n\r\n<div id=\"resp_by_citypair_arrive_status_details\">\r\n\r\n\r\n<div
101
+ class=\"statusDetailsSection\">\r\n<div class=\"cityName\">BBY</div>\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n<div
102
+ class=\"arriveDepartDelayedMsg\"> Arrived</div>\r\n<div class=\"delayedMsg\">10
103
+ minutes late</div>\r\n\r\n<div class=\"arriveDepartTime\">11:49 am</div>\r\n<div
104
+ class=\"arriveDepartDate\">Sat, Dec 6 2014</div>\r\n\r\n\r\n\r\n\r\n\r\n\r\n<div
105
+ class=\"scheduledArriveDepartMsg\">\r\nScheduled Arrival&nbsp;11:39 am\r\n</div>\r\n\r\n\r\n\r\n</div>\r\n\r\n</div>\r\n\r\n</div>\r\n\r\n<div
106
+ id=\"train_status_spacing\"></div>\r\n\r\n\r\n<div id=\"train_status_resp_by_citypair\">\r\n<div
107
+ id=\"resp_by_citypair_subheading\">\r\n<div id=\"resp_by_citypair_subheading_trainname\">\r\n160&nbsp;Northeast
108
+ Regional\r\n</div>\r\n</div>\r\n\r\n<div id=\"resp_by_citypair_depart_status_details\">\r\n\r\n\r\n<div
109
+ class=\"statusDetailsSection\">\r\n<div class=\"cityName\">PVD</div>\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n<div
110
+ class=\"arriveDepartDelayedMsg\"> Departed</div>\r\n<div class=\"delayedMsg\">10
111
+ minutes late</div>\r\n\r\n<div class=\"arriveDepartTime\">12:35 pm</div>\r\n<div
112
+ class=\"arriveDepartDate\">Sat, Dec 6 2014</div>\r\n\r\n\r\n\r\n<div class=\"scheduledArriveDepartMsg\">\r\nScheduled
113
+ Departure&nbsp;12:25 pm\r\n</div>\r\n\r\n\r\n</div>\r\n\r\n</div>\r\n\r\n<div
114
+ id=\"resp_by_citypair_arrow_img\">\r\n\r\n\r\n\r\n\r\n\r\n\r\n<img src=\"/images/en/delayed-arrived.png\"
115
+ />\r\n\r\n\r\n\r\n\r\n\r\n</div>\r\n\r\n<div id=\"resp_by_citypair_arrive_status_details\">\r\n\r\n\r\n<div
116
+ class=\"statusDetailsSection\">\r\n<div class=\"cityName\">BBY</div>\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n<div
117
+ class=\"arriveDepartDelayedMsg\"> Arrived</div>\r\n<div class=\"delayedMsg\">2
118
+ minutes late</div>\r\n\r\n<div class=\"arriveDepartTime\">1:10 pm</div>\r\n<div
119
+ class=\"arriveDepartDate\">Sat, Dec 6 2014</div>\r\n\r\n\r\n\r\n\r\n\r\n\r\n<div
120
+ class=\"scheduledArriveDepartMsg\">\r\nScheduled Arrival&nbsp;1:10 pm\r\n</div>\r\n\r\n\r\n\r\n</div>\r\n\r\n</div>\r\n\r\n</div>\r\n\r\n<div
121
+ id=\"train_status_spacing\"></div>\r\n\r\n\r\n<div id=\"train_status_resp_by_citypair\">\r\n<div
122
+ id=\"resp_by_citypair_subheading\">\r\n<div id=\"resp_by_citypair_subheading_trainname\">\r\n162&nbsp;Northeast
123
+ Regional\r\n</div>\r\n</div>\r\n\r\n<div id=\"resp_by_citypair_depart_status_details\">\r\n\r\n\r\n<div
124
+ class=\"statusDetailsSection\">\r\n<div class=\"cityName\">PVD</div>\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n<div
125
+ class=\"arriveDepartDelayedMsg\"> Departed</div>\r\n<div class=\"delayedMsg\">43
126
+ minutes late</div>\r\n\r\n<div class=\"arriveDepartTime\">2:11 pm</div>\r\n<div
127
+ class=\"arriveDepartDate\">Sat, Dec 6 2014</div>\r\n\r\n\r\n\r\n<div class=\"scheduledArriveDepartMsg\">\r\nScheduled
128
+ Departure&nbsp;1:28 pm\r\n</div>\r\n\r\n\r\n</div>\r\n\r\n</div>\r\n\r\n<div
129
+ id=\"resp_by_citypair_arrow_img\">\r\n\r\n\r\n\r\n\r\n\r\n\r\n<img src=\"/images/en/delayed-arrived.png\"
130
+ />\r\n\r\n\r\n\r\n\r\n\r\n</div>\r\n\r\n<div id=\"resp_by_citypair_arrive_status_details\">\r\n\r\n\r\n<div
131
+ class=\"statusDetailsSection\">\r\n<div class=\"cityName\">BBY</div>\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n<div
132
+ class=\"arriveDepartDelayedMsg\"> Arrived</div>\r\n<div class=\"delayedMsg\">37
133
+ minutes late</div>\r\n\r\n<div class=\"arriveDepartTime\">2:48 pm</div>\r\n<div
134
+ class=\"arriveDepartDate\">Sat, Dec 6 2014</div>\r\n\r\n\r\n\r\n\r\n\r\n\r\n<div
135
+ class=\"scheduledArriveDepartMsg\">\r\nScheduled Arrival&nbsp;2:13 pm\r\n</div>\r\n\r\n\r\n\r\n</div>\r\n\r\n</div>\r\n\r\n</div>\r\n\r\n<div
136
+ id=\"train_status_spacing\"></div>\r\n\r\n\r\n<div id=\"train_status_resp_by_citypair\">\r\n<div
137
+ id=\"resp_by_citypair_subheading\">\r\n<div id=\"resp_by_citypair_subheading_trainname\">\r\n2250&nbsp;Acela
138
+ Express\r\n</div>\r\n</div>\r\n\r\n<div id=\"resp_by_citypair_depart_status_details\">\r\n\r\n\r\n<div
139
+ class=\"statusDetailsSection\">\r\n<div class=\"cityName\">PVD</div>\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n<div
140
+ class=\"arriveDepartDelayedMsg\"> Departed</div>\r\n<div class=\"delayedMsg\">22
141
+ minutes late</div>\r\n\r\n<div class=\"arriveDepartTime\">3:20 pm</div>\r\n<div
142
+ class=\"arriveDepartDate\">Sat, Dec 6 2014</div>\r\n\r\n\r\n\r\n<div class=\"scheduledArriveDepartMsg\">\r\nScheduled
143
+ Departure&nbsp;2:58 pm\r\n</div>\r\n\r\n\r\n</div>\r\n\r\n</div>\r\n\r\n<div
144
+ id=\"resp_by_citypair_arrow_img\">\r\n\r\n\r\n\r\n\r\n\r\n\r\n<img src=\"/images/en/delayed-arrived.png\"
145
+ />\r\n\r\n\r\n\r\n\r\n\r\n</div>\r\n\r\n<div id=\"resp_by_citypair_arrive_status_details\">\r\n\r\n\r\n<div
146
+ class=\"statusDetailsSection\">\r\n<div class=\"cityName\">BBY</div>\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n<div
147
+ class=\"arriveDepartDelayedMsg\"> Arrived</div>\r\n<div class=\"delayedMsg\">15
148
+ minutes late</div>\r\n\r\n<div class=\"arriveDepartTime\">3:56 pm</div>\r\n<div
149
+ class=\"arriveDepartDate\">Sat, Dec 6 2014</div>\r\n\r\n\r\n\r\n\r\n\r\n\r\n<div
150
+ class=\"scheduledArriveDepartMsg\">\r\nScheduled Arrival&nbsp;3:41 pm\r\n</div>\r\n\r\n\r\n\r\n</div>\r\n\r\n</div>\r\n\r\n</div>\r\n\r\n<div
151
+ id=\"train_status_spacing\"></div>\r\n\r\n\r\n<div id=\"train_status_resp_by_citypair\">\r\n<div
152
+ id=\"resp_by_citypair_subheading\">\r\n<div id=\"resp_by_citypair_subheading_trainname\">\r\n164&nbsp;Northeast
153
+ Regional\r\n</div>\r\n</div>\r\n\r\n<div id=\"resp_by_citypair_depart_status_details\">\r\n\r\n\r\n<div
154
+ class=\"statusDetailsSection\">\r\n<div class=\"cityName\">PVD</div>\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n<div
155
+ class=\"statusUnavailableMsg\">Status currently unavailable</div>\r\n<div
156
+ class=\"arriveDepartDate\">Sat, Dec 6 2014</div>\r\n\r\n\r\n\r\n\r\n<div class=\"scheduledArriveDepartMsg\">\r\nScheduled
157
+ Departure&nbsp;4:30 pm\r\n</div>\r\n\r\n\r\n</div>\r\n\r\n</div>\r\n\r\n<div
158
+ id=\"resp_by_citypair_arrow_img\">\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n<img
159
+ src=\"/images/en/no-status-available-origin.png\" />\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n</div>\r\n\r\n<div
160
+ id=\"resp_by_citypair_arrive_status_details\">\r\n\r\n\r\n<div class=\"statusDetailsSection\">\r\n<div
161
+ class=\"cityName\">BBY</div>\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n<div
162
+ class=\"statusUnavailableMsg\">Status currently unavailable</div>\r\n<div
163
+ class=\"arriveDepartDate\">Sat, Dec 6 2014</div>\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n<div
164
+ class=\"scheduledArriveDepartMsg\">\r\nScheduled Arrival&nbsp;5:13 pm\r\n</div>\r\n\r\n\r\n\r\n</div>\r\n\r\n</div>\r\n\r\n</div>\r\n\r\n<div
165
+ id=\"train_status_spacing\"></div>\r\n\r\n\r\n<div id=\"train_status_resp_by_citypair\">\r\n<div
166
+ id=\"resp_by_citypair_subheading\">\r\n<div id=\"resp_by_citypair_subheading_trainname\">\r\n82&nbsp;Northeast
167
+ Regional\r\n</div>\r\n</div>\r\n\r\n<div id=\"resp_by_citypair_depart_status_details\">\r\n\r\n\r\n<div
168
+ class=\"statusDetailsSection\">\r\n<div class=\"cityName\">PVD</div>\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n<div
169
+ class=\"arriveDepartDelayedMsg\"> Departed</div>\r\n<div class=\"delayedMsg\">2
170
+ minutes late</div>\r\n\r\n<div class=\"arriveDepartTime\">5:28 pm</div>\r\n<div
171
+ class=\"arriveDepartDate\">Sat, Dec 6 2014</div>\r\n\r\n\r\n\r\n<div class=\"scheduledArriveDepartMsg\">\r\nScheduled
172
+ Departure&nbsp;5:26 pm\r\n</div>\r\n\r\n\r\n</div>\r\n\r\n</div>\r\n\r\n<div
173
+ id=\"resp_by_citypair_arrow_img\">\r\n\r\n\r\n\r\n\r\n\r\n<img src=\"/images/en/ontime-arrived.png\"
174
+ />\r\n\r\n\r\n\r\n\r\n\r\n\r\n</div>\r\n\r\n<div id=\"resp_by_citypair_arrive_status_details\">\r\n\r\n\r\n<div
175
+ class=\"statusDetailsSection\">\r\n<div class=\"cityName\">BBY</div>\r\n\r\n\r\n\r\n\r\n\r\n\r\n<div
176
+ class=\"arriveDepartOntimeMsg\"> Arrived</div>\r\n<div class=\"ontimeMsg\">4
177
+ minutes early</div>\r\n\r\n\r\n<div class=\"arriveDepartTime\">6:04 pm</div>\r\n<div
178
+ class=\"arriveDepartDate\">Sat, Dec 6 2014</div>\r\n\r\n\r\n\r\n\r\n\r\n\r\n<div
179
+ class=\"scheduledArriveDepartMsg\">\r\nScheduled Arrival&nbsp;6:10 pm\r\n</div>\r\n\r\n\r\n\r\n</div>\r\n\r\n</div>\r\n\r\n</div>\r\n\r\n<div
180
+ id=\"train_status_spacing\"></div>\r\n\r\n\r\n<div id=\"train_status_resp_by_citypair\">\r\n<div
181
+ id=\"resp_by_citypair_subheading\">\r\n<div id=\"resp_by_citypair_subheading_trainname\">\r\n88&nbsp;Northeast
182
+ Regional\r\n</div>\r\n</div>\r\n\r\n<div id=\"resp_by_citypair_depart_status_details\">\r\n\r\n\r\n<div
183
+ class=\"statusDetailsSection\">\r\n<div class=\"cityName\">PVD</div>\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n<div
184
+ class=\"arriveDepartDelayedMsg\"> Departed</div>\r\n<div class=\"delayedMsg\">
185
+ 23 minutes late</div>\r\n\r\n<div class=\"arriveDepartTime\">6:50 pm</div>\r\n<div
186
+ class=\"arriveDepartDate\">Sat, Dec 6 2014</div>\r\n\r\n\r\n\r\n<div class=\"scheduledArriveDepartMsg\">\r\nScheduled
187
+ Departure&nbsp;6:27 pm\r\n</div>\r\n\r\n\r\n</div>\r\n\r\n</div>\r\n\r\n<div
188
+ id=\"resp_by_citypair_arrow_img\">\r\n\r\n\r\n\r\n\r\n\r\n\r\n<img src=\"/images/en/delayed-arrived.png\"
189
+ />\r\n\r\n\r\n\r\n\r\n\r\n</div>\r\n\r\n<div id=\"resp_by_citypair_arrive_status_details\">\r\n\r\n\r\n<div
190
+ class=\"statusDetailsSection\">\r\n<div class=\"cityName\">BBY</div>\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n<div
191
+ class=\"arriveDepartDelayedMsg\"> Arrived</div>\r\n<div class=\"delayedMsg\">
192
+ 14 minutes late</div>\r\n\r\n<div class=\"arriveDepartTime\">7:28 pm</div>\r\n<div
193
+ class=\"arriveDepartDate\">Sat, Dec 6 2014</div>\r\n\r\n\r\n\r\n\r\n\r\n\r\n<div
194
+ class=\"scheduledArriveDepartMsg\">\r\nScheduled Arrival&nbsp;7:14 pm\r\n</div>\r\n\r\n\r\n\r\n</div>\r\n\r\n</div>\r\n\r\n</div>\r\n\r\n<div
195
+ id=\"train_status_spacing\"></div>\r\n\r\n\r\n\r\n"
245
196
  http_version:
246
- recorded_at: Fri, 28 Nov 2014 19:45:36 GMT
197
+ recorded_at: Sun, 07 Dec 2014 19:33:27 GMT
247
198
  recorded_with: VCR 2.9.3
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: amtrak
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 1.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Todd Lunter
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-11-30 00:00:00.000000000 Z
11
+ date: 2014-12-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: excon
@@ -148,13 +148,14 @@ files:
148
148
  - spec/amtrak/train_parser_spec.rb
149
149
  - spec/amtrak_spec.rb
150
150
  - spec/fixtures/html/pvd_to_bby.html
151
+ - spec/fixtures/json/_get.json
152
+ - spec/fixtures/json/_parse.json
151
153
  - spec/fixtures/vcr/Amtrak/_get/returns_a_list_of_train_times.yml
152
154
  - spec/fixtures/vcr/Amtrak_TrainFetcher/_get/does_the_same_as_get.yml
153
155
  - spec/fixtures/vcr/Amtrak_TrainFetcher/_get/given_a_valid_date_and_invalid_train_stations/does_not_include_various_classes_and_includes_an_error.yml
154
156
  - spec/fixtures/vcr/Amtrak_TrainFetcher/_get/given_a_valid_date_and_train_stations/includes_various_classes.yml
155
157
  - spec/fixtures/vcr/Amtrak_TrainFetcher/_get/given_an_invalid_date_and_valid_train_stations/does_not_include_various_classes_and_includes_an_error.yml
156
158
  - spec/fixtures/vcr/Amtrak_TrainFetcher_MainPage/_session_id/pulls_the_session_id_from_the_cookies.yml
157
- - spec/fixtures/vcr/Amtrak_TrainFetcher_MainPage/_total_pages/when_more_than_one_page_exists_on_the_website/returns_1.yml
158
159
  - spec/fixtures/vcr/Amtrak_TrainFetcher_MainPage/_total_pages/when_more_than_one_page_exists_on_the_website/returns_2.yml
159
160
  - spec/fixtures/vcr/Amtrak_TrainFetcher_MainPage/_total_pages/when_only_one_page_exists_on_the_website/returns_1.yml
160
161
  - spec/fixtures/vcr/Amtrak_TrainFetcher_TrainPage/_get/when_it_works/includes_various_classes.yml
@@ -191,13 +192,14 @@ test_files:
191
192
  - spec/amtrak/train_parser_spec.rb
192
193
  - spec/amtrak_spec.rb
193
194
  - spec/fixtures/html/pvd_to_bby.html
195
+ - spec/fixtures/json/_get.json
196
+ - spec/fixtures/json/_parse.json
194
197
  - spec/fixtures/vcr/Amtrak/_get/returns_a_list_of_train_times.yml
195
198
  - spec/fixtures/vcr/Amtrak_TrainFetcher/_get/does_the_same_as_get.yml
196
199
  - spec/fixtures/vcr/Amtrak_TrainFetcher/_get/given_a_valid_date_and_invalid_train_stations/does_not_include_various_classes_and_includes_an_error.yml
197
200
  - spec/fixtures/vcr/Amtrak_TrainFetcher/_get/given_a_valid_date_and_train_stations/includes_various_classes.yml
198
201
  - spec/fixtures/vcr/Amtrak_TrainFetcher/_get/given_an_invalid_date_and_valid_train_stations/does_not_include_various_classes_and_includes_an_error.yml
199
202
  - spec/fixtures/vcr/Amtrak_TrainFetcher_MainPage/_session_id/pulls_the_session_id_from_the_cookies.yml
200
- - spec/fixtures/vcr/Amtrak_TrainFetcher_MainPage/_total_pages/when_more_than_one_page_exists_on_the_website/returns_1.yml
201
203
  - spec/fixtures/vcr/Amtrak_TrainFetcher_MainPage/_total_pages/when_more_than_one_page_exists_on_the_website/returns_2.yml
202
204
  - spec/fixtures/vcr/Amtrak_TrainFetcher_MainPage/_total_pages/when_only_one_page_exists_on_the_website/returns_1.yml
203
205
  - spec/fixtures/vcr/Amtrak_TrainFetcher_TrainPage/_get/when_it_works/includes_various_classes.yml