greenmonster 0.5.0 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (57) hide show
  1. checksums.yaml +7 -0
  2. data/CODE_OF_CONDUCT.md +13 -0
  3. data/LICENSE.txt +21 -0
  4. data/README.markdown +11 -28
  5. data/Rakefile +3 -8
  6. data/doc/Gemfile.html +6 -24
  7. data/doc/Greenmonster/Spider.html +47 -258
  8. data/doc/Greenmonster.html +25 -86
  9. data/doc/Rakefile.html +10 -25
  10. data/doc/created.rid +12 -18
  11. data/doc/index.html +6 -24
  12. data/doc/js/search_index.js +1 -1
  13. data/doc/table_of_contents.html +12 -129
  14. data/greenmonster.gemspec +16 -13
  15. data/lib/greenmonster/day_spider.rb +61 -0
  16. data/lib/greenmonster/file_downloader.rb +38 -0
  17. data/lib/greenmonster/game_spider.rb +100 -0
  18. data/lib/greenmonster/innings_downloader.rb +41 -0
  19. data/lib/greenmonster/spider.rb +1 -0
  20. data/lib/greenmonster/version.rb +2 -2
  21. data/lib/greenmonster.rb +16 -82
  22. data/spec/cassettes/aaa/year_2015/month_05/day_09.yml +153 -0
  23. data/spec/cassettes/gid_2007_10_01_sdnmlb_colmlb_1/innings.yml +135 -0
  24. data/spec/cassettes/gid_2015_04_18_balmlb_bos_mlb_1/players_xml.yml +292 -0
  25. data/spec/cassettes/gid_2015_04_18_balmlb_bos_mlb_2/players_xml.yml +46 -0
  26. data/spec/cassettes/mlb/year_2015/month_04/day_18.yml +170 -0
  27. data/spec/day_spider_spec.rb +80 -0
  28. data/spec/file_downloader_spec.rb +51 -0
  29. data/spec/fixtures/aaa_players.xml +70 -0
  30. data/spec/fixtures/boxscore.xml +1147 -0
  31. data/spec/fixtures/inning_all.xml +1 -0
  32. data/spec/fixtures/inning_hit.xml +1 -0
  33. data/spec/fixtures/linescore.xml +131 -0
  34. data/spec/fixtures/players.xml +63 -0
  35. data/spec/game_spider_spec.rb +116 -0
  36. data/spec/greenmonster_spec.rb +22 -34
  37. data/spec/innings_downloader_spec.rb +44 -0
  38. data/spec/spec_helper.rb +13 -21
  39. data/spec/support/path_helpers.rb +21 -0
  40. data/spec/support/vcr.rb +11 -0
  41. metadata +91 -67
  42. data/doc/Athlete.html +0 -254
  43. data/doc/Greenmonster/Generators/InstallGenerator.html +0 -253
  44. data/doc/Greenmonster/Generators.html +0 -147
  45. data/doc/Greenmonster/Parser.html +0 -263
  46. data/doc/Greenmonster/Player.html +0 -236
  47. data/doc/GreenmonsterPlayerTest.html +0 -199
  48. data/doc/GreenmonsterSpiderTest.html +0 -668
  49. data/doc/GreenmonsterTest.html +0 -262
  50. data/doc/GreenmonsterTraversalTest.html +0 -376
  51. data/doc/InstallGreenmonster.html +0 -260
  52. data/doc/TestCreatePlayersFromGamedayXMLGame.html +0 -266
  53. data/doc/TestParsePlayersFromGamedayXMLFiles.html +0 -307
  54. data/spec/games/tst/year_2012/month_03/day_27/gid_2012_03_27_aaamlb_aabmlb_1/blank.txt +0 -0
  55. data/spec/games/tst/year_2012/month_03/day_27/gid_2012_03_27_aaamlb_aabmlb_1_bak/blank.txt +0 -0
  56. data/spec/games/tst/year_2012/month_03/day_27/not_2012_03_27_aaamlb_aabmlb_1/blank.txt +0 -0
  57. data/spec/greenmonster/spider_spec.rb +0 -85
@@ -0,0 +1,292 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: http://gd2.mlb.com/components/game/mlb/year_2015/month_04/day_18/gid_2015_04_18_balmlb_bosmlb_1/players.xml
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ Accept-Encoding:
11
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
12
+ Accept:
13
+ - "*/*"
14
+ User-Agent:
15
+ - Ruby
16
+ response:
17
+ status:
18
+ code: 200
19
+ message: OK
20
+ headers:
21
+ Server:
22
+ - Apache/2.0.65 (Unix)
23
+ Last-Modified:
24
+ - Sun, 19 Apr 2015 03:59:33 GMT
25
+ Etag:
26
+ - '"422a-5140bd74e9340"'
27
+ Expires:
28
+ - Sat, 09 May 2015 15:19:00 GMT
29
+ Access-Control-Allow-Origin:
30
+ - "*"
31
+ Edge-Control:
32
+ - max-age=15
33
+ Cache-Control:
34
+ - max-age=15
35
+ Content-Type:
36
+ - application/xml
37
+ Content-Length:
38
+ - '16938'
39
+ Accept-Ranges:
40
+ - bytes
41
+ Date:
42
+ - Sat, 09 May 2015 15:18:45 GMT
43
+ X-Varnish:
44
+ - '1395163594'
45
+ Via:
46
+ - 1.1 varnish
47
+ Connection:
48
+ - keep-alive
49
+ X-Varnish-Cache:
50
+ - MISS
51
+ X-Served-By:
52
+ - w1cache11.web1.mlbam.net
53
+ body:
54
+ encoding: UTF-8
55
+ string: "<!--Copyright 2015 MLB Advanced Media, L.P. Use of any content on
56
+ this page acknowledges agreement to the terms posted here http://gdx.mlb.com/components/copyright.txt--><game
57
+ venue=\"Fenway Park\" date=\"April 18, 2015\">\n\t<team type=\"away\" id=\"BAL\"
58
+ name=\"Baltimore Orioles\">\n\t\t<player id=\"429666\" first=\"J.J.\" last=\"Hardy\"
59
+ num=\"2\" boxname=\"Hardy\" rl=\"R\" bats=\"R\" position=\"SS\" status=\"A\"
60
+ team_abbrev=\"BAL\" team_id=\"110\" parent_team_abbrev=\"BAL\" parent_team_id=\"110\"
61
+ avg=\".000\" hr=\"0\" rbi=\"0\"/>\n\t\t<player id=\"430321\" first=\"Delmon\"
62
+ last=\"Young\" num=\"27\" boxname=\"Young, D\" rl=\"R\" bats=\"R\" position=\"LF\"
63
+ status=\"A\" team_abbrev=\"BAL\" team_id=\"110\" parent_team_abbrev=\"BAL\"
64
+ parent_team_id=\"110\" avg=\".333\" hr=\"0\" rbi=\"2\"/>\n\t\t<player id=\"430945\"
65
+ first=\"Adam\" last=\"Jones\" num=\"10\" boxname=\"Jones, Ad\" rl=\"R\" bats=\"R\"
66
+ position=\"CF\" current_position=\"CF\" status=\"A\" team_abbrev=\"BAL\" team_id=\"110\"
67
+ parent_team_abbrev=\"BAL\" parent_team_id=\"110\" bat_order=\"4\" game_position=\"CF\"
68
+ avg=\".389\" hr=\"4\" rbi=\"11\"/>\n\t\t<player id=\"434622\" first=\"Ubaldo\"
69
+ last=\"Jimenez\" num=\"31\" boxname=\"Jimenez, U\" rl=\"R\" bats=\"R\" position=\"P\"
70
+ status=\"A\" team_abbrev=\"BAL\" team_id=\"110\" parent_team_abbrev=\"BAL\"
71
+ parent_team_id=\"110\" avg=\".000\" hr=\"0\" rbi=\"0\" wins=\"1\" losses=\"0\"
72
+ era=\"0.00\"/>\n\t\t<player id=\"446308\" first=\"Matt\" last=\"Wieters\"
73
+ num=\"32\" boxname=\"Wieters\" rl=\"R\" bats=\"S\" position=\"C\" status=\"A\"
74
+ team_abbrev=\"BAL\" team_id=\"110\" parent_team_abbrev=\"BAL\" parent_team_id=\"110\"
75
+ avg=\".000\" hr=\"0\" rbi=\"0\"/>\n\t\t<player id=\"448801\" first=\"Chris\"
76
+ last=\"Davis\" num=\"19\" boxname=\"Davis, C\" rl=\"R\" bats=\"L\" position=\"1B\"
77
+ current_position=\"1B\" status=\"A\" team_abbrev=\"BAL\" team_id=\"110\" parent_team_abbrev=\"BAL\"
78
+ parent_team_id=\"110\" bat_order=\"3\" game_position=\"1B\" avg=\".235\" hr=\"1\"
79
+ rbi=\"5\"/>\n\t\t<player id=\"449079\" first=\"Wesley\" last=\"Wright\" num=\"40\"
80
+ boxname=\"Wright, W\" rl=\"L\" bats=\"R\" position=\"P\" status=\"A\" team_abbrev=\"BAL\"
81
+ team_id=\"110\" parent_team_abbrev=\"BAL\" parent_team_id=\"110\" avg=\".000\"
82
+ hr=\"0\" rbi=\"0\" wins=\"0\" losses=\"0\" era=\"5.40\"/>\n\t\t<player id=\"451085\"
83
+ first=\"Brian\" last=\"Matusz\" num=\"17\" boxname=\"Matusz\" rl=\"L\" bats=\"L\"
84
+ position=\"P\" status=\"A\" team_abbrev=\"BAL\" team_id=\"110\" parent_team_abbrev=\"BAL\"
85
+ parent_team_id=\"110\" avg=\".000\" hr=\"0\" rbi=\"0\" wins=\"0\" losses=\"1\"
86
+ era=\"2.08\"/>\n\t\t<player id=\"456068\" first=\"Miguel\" last=\"Gonzalez\"
87
+ num=\"50\" boxname=\"Gonzalez, M\" rl=\"R\" bats=\"R\" position=\"P\" status=\"A\"
88
+ team_abbrev=\"BAL\" team_id=\"110\" parent_team_abbrev=\"BAL\" parent_team_id=\"110\"
89
+ avg=\".000\" hr=\"0\" rbi=\"0\" wins=\"1\" losses=\"1\" era=\"1.42\"/>\n\t\t<player
90
+ id=\"456665\" first=\"Steve\" last=\"Pearce\" num=\"28\" boxname=\"Pearce\"
91
+ rl=\"R\" bats=\"R\" position=\"LF\" current_position=\"1B\" status=\"A\" team_abbrev=\"BAL\"
92
+ team_id=\"110\" parent_team_abbrev=\"BAL\" parent_team_id=\"110\" bat_order=\"2\"
93
+ game_position=\"RF\" avg=\".143\" hr=\"2\" rbi=\"3\"/>\n\t\t<player id=\"457477\"
94
+ first=\"Alejandro\" last=\"De Aza\" num=\"12\" boxname=\"De Aza\" rl=\"L\"
95
+ bats=\"L\" position=\"LF\" current_position=\"LF\" status=\"A\" team_abbrev=\"BAL\"
96
+ team_id=\"110\" parent_team_abbrev=\"BAL\" parent_team_id=\"110\" bat_order=\"1\"
97
+ game_position=\"LF\" avg=\".282\" hr=\"2\" rbi=\"4\"/>\n\t\t<player id=\"465784\"
98
+ first=\"Everth\" last=\"Cabrera\" num=\"1\" boxname=\"Cabrera, E\" rl=\"R\"
99
+ bats=\"S\" position=\"SS\" current_position=\"SS\" status=\"A\" team_abbrev=\"BAL\"
100
+ team_id=\"110\" parent_team_abbrev=\"BAL\" parent_team_id=\"110\" bat_order=\"9\"
101
+ game_position=\"SS\" avg=\".276\" hr=\"0\" rbi=\"1\"/>\n\t\t<player id=\"475247\"
102
+ first=\"Ryan\" last=\"Flaherty\" num=\"3\" boxname=\"Flaherty\" rl=\"R\" bats=\"L\"
103
+ position=\"3B\" current_position=\"2B\" status=\"A\" team_abbrev=\"BAL\" team_id=\"110\"
104
+ parent_team_abbrev=\"BAL\" parent_team_id=\"110\" bat_order=\"8\" game_position=\"2B\"
105
+ avg=\".154\" hr=\"1\" rbi=\"1\"/>\n\t\t<player id=\"488984\" first=\"Tommy\"
106
+ last=\"Hunter\" num=\"29\" boxname=\"Hunter, T\" rl=\"R\" bats=\"R\" position=\"P\"
107
+ status=\"A\" team_abbrev=\"BAL\" team_id=\"110\" parent_team_abbrev=\"BAL\"
108
+ parent_team_id=\"110\" avg=\".000\" hr=\"0\" rbi=\"0\" wins=\"0\" losses=\"1\"
109
+ era=\"14.73\"/>\n\t\t<player id=\"501957\" first=\"Chris\" last=\"Tillman\"
110
+ num=\"30\" boxname=\"Tillman\" rl=\"R\" bats=\"R\" position=\"P\" current_position=\"P\"
111
+ status=\"A\" team_abbrev=\"BAL\" team_id=\"110\" parent_team_abbrev=\"BAL\"
112
+ parent_team_id=\"110\" bat_order=\"0\" game_position=\"P\" avg=\".000\" hr=\"0\"
113
+ rbi=\"0\" wins=\"1\" losses=\"1\" era=\"7.71\"/>\n\t\t<player id=\"501983\"
114
+ first=\"Travis\" last=\"Snider\" num=\"23\" boxname=\"Snider\" rl=\"L\" bats=\"L\"
115
+ position=\"RF\" status=\"A\" team_abbrev=\"BAL\" team_id=\"110\" parent_team_abbrev=\"BAL\"
116
+ parent_team_id=\"110\" avg=\".321\" hr=\"1\" rbi=\"6\"/>\n\t\t<player id=\"502032\"
117
+ first=\"Bud\" last=\"Norris\" num=\"25\" boxname=\"Norris\" rl=\"R\" bats=\"R\"
118
+ position=\"P\" status=\"A\" team_abbrev=\"BAL\" team_id=\"110\" parent_team_abbrev=\"BAL\"
119
+ parent_team_id=\"110\" avg=\".000\" hr=\"0\" rbi=\"0\" wins=\"0\" losses=\"1\"
120
+ era=\"12.38\"/>\n\t\t<player id=\"502154\" first=\"Zach\" last=\"Britton\"
121
+ num=\"53\" boxname=\"Britton\" rl=\"L\" bats=\"L\" position=\"P\" current_position=\"P\"
122
+ status=\"A\" team_abbrev=\"BAL\" team_id=\"110\" parent_team_abbrev=\"BAL\"
123
+ parent_team_id=\"110\" avg=\".000\" hr=\"0\" rbi=\"0\" wins=\"0\" losses=\"0\"
124
+ era=\"1.69\"/>\n\t\t<player id=\"503285\" first=\"Darren\" last=\"O'Day\"
125
+ num=\"56\" boxname=\"O'Day\" rl=\"R\" bats=\"R\" position=\"P\" current_position=\"P\"
126
+ status=\"A\" team_abbrev=\"BAL\" team_id=\"110\" parent_team_abbrev=\"BAL\"
127
+ parent_team_id=\"110\" avg=\".000\" hr=\"0\" rbi=\"0\" wins=\"0\" losses=\"0\"
128
+ era=\"1.50\"/>\n\t\t<player id=\"517370\" first=\"Jimmy\" last=\"Paredes\"
129
+ num=\"38\" boxname=\"Paredes\" rl=\"R\" bats=\"S\" position=\"3B\" current_position=\"DH\"
130
+ status=\"A\" team_abbrev=\"BAL\" team_id=\"110\" parent_team_abbrev=\"BAL\"
131
+ parent_team_id=\"110\" bat_order=\"5\" game_position=\"DH\" avg=\".000\" hr=\"0\"
132
+ rbi=\"0\"/>\n\t\t<player id=\"518953\" first=\"David\" last=\"Lough\" num=\"9\"
133
+ boxname=\"Lough\" rl=\"L\" bats=\"L\" position=\"LF\" current_position=\"RF\"
134
+ status=\"A\" team_abbrev=\"BAL\" team_id=\"110\" parent_team_abbrev=\"BAL\"
135
+ parent_team_id=\"110\" avg=\".000\" hr=\"0\" rbi=\"0\"/>\n\t\t<player id=\"542960\"
136
+ first=\"Brad\" last=\"Brach\" num=\"35\" boxname=\"Brach\" rl=\"R\" bats=\"R\"
137
+ position=\"P\" current_position=\"P\" status=\"A\" team_abbrev=\"BAL\" team_id=\"110\"
138
+ parent_team_abbrev=\"BAL\" parent_team_id=\"110\" avg=\".000\" hr=\"0\" rbi=\"0\"
139
+ wins=\"1\" losses=\"0\" era=\"6.75\"/>\n\t\t<player id=\"543376\" first=\"Caleb\"
140
+ last=\"Joseph\" num=\"36\" boxname=\"Joseph\" rl=\"R\" bats=\"R\" position=\"C\"
141
+ current_position=\"C\" status=\"A\" team_abbrev=\"BAL\" team_id=\"110\" parent_team_abbrev=\"BAL\"
142
+ parent_team_id=\"110\" bat_order=\"7\" game_position=\"C\" avg=\".370\" hr=\"1\"
143
+ rbi=\"3\"/>\n\t\t<player id=\"543432\" first=\"Ryan\" last=\"Lavarnway\" num=\"34\"
144
+ boxname=\"Lavarnway\" rl=\"R\" bats=\"R\" position=\"C\" status=\"A\" team_abbrev=\"BAL\"
145
+ team_id=\"110\" parent_team_abbrev=\"BAL\" parent_team_id=\"110\" avg=\".167\"
146
+ hr=\"0\" rbi=\"0\"/>\n\t\t<player id=\"570731\" first=\"Jonathan\" last=\"Schoop\"
147
+ num=\"6\" boxname=\"Schoop\" rl=\"R\" bats=\"R\" position=\"2B\" status=\"A\"
148
+ team_abbrev=\"BAL\" team_id=\"110\" parent_team_abbrev=\"BAL\" parent_team_id=\"110\"
149
+ avg=\".259\" hr=\"3\" rbi=\"7\"/>\n\t\t<player id=\"592329\" first=\"Jason\"
150
+ last=\"Garcia\" num=\"61\" boxname=\"Garcia, Ja\" rl=\"R\" bats=\"R\" position=\"P\"
151
+ status=\"A\" team_abbrev=\"BAL\" team_id=\"110\" parent_team_abbrev=\"BAL\"
152
+ parent_team_id=\"110\" avg=\".000\" hr=\"0\" rbi=\"0\" wins=\"0\" losses=\"0\"
153
+ era=\"2.45\"/>\n\t\t<player id=\"592332\" first=\"Kevin\" last=\"Gausman\"
154
+ num=\"39\" boxname=\"Gausman\" rl=\"R\" bats=\"L\" position=\"P\" status=\"A\"
155
+ team_abbrev=\"BAL\" team_id=\"110\" parent_team_abbrev=\"BAL\" parent_team_id=\"110\"
156
+ avg=\".000\" hr=\"0\" rbi=\"0\" wins=\"1\" losses=\"0\" era=\"9.00\"/>\n\t\t<player
157
+ id=\"592518\" first=\"Manny\" last=\"Machado\" num=\"13\" boxname=\"Machado,
158
+ M\" rl=\"R\" bats=\"R\" position=\"3B\" current_position=\"3B\" status=\"A\"
159
+ team_abbrev=\"BAL\" team_id=\"110\" parent_team_abbrev=\"BAL\" parent_team_id=\"110\"
160
+ bat_order=\"6\" game_position=\"3B\" avg=\".143\" hr=\"1\" rbi=\"3\"/>\n\t\t<player
161
+ id=\"612672\" first=\"Wei-Yin\" last=\"Chen\" num=\"16\" boxname=\"Chen, W\"
162
+ rl=\"L\" bats=\"L\" position=\"P\" status=\"A\" team_abbrev=\"BAL\" team_id=\"110\"
163
+ parent_team_abbrev=\"BAL\" parent_team_id=\"110\" avg=\".000\" hr=\"0\" rbi=\"0\"
164
+ wins=\"0\" losses=\"0\" era=\"4.35\"/>\n<coach position=\"manager\" first=\"Buck\"
165
+ last=\"Showalter\" id=\"427469\" num=\"26\"/><coach position=\"hitting_coach\"
166
+ first=\"Scott\" last=\"Coolbaugh\" id=\"112635\" num=\"47\"/><coach position=\"assistant_hitting_coach\"
167
+ first=\"Einar\" last=\"Diaz\" id=\"113330\" num=\"55\"/><coach position=\"pitching_coach\"
168
+ first=\"Dave\" last=\"Wallace\" id=\"123855\" num=\"37\"/><coach position=\"first_base_coach\"
169
+ first=\"Wayne\" last=\"Kirby\" id=\"117114\" num=\"24\"/><coach position=\"third_base_coach\"
170
+ first=\"Bobby\" last=\"Dickerson\" id=\"433638\" num=\"11\"/><coach position=\"bench_coach\"
171
+ first=\"John\" last=\"Russell\" id=\"121571\" num=\"77\"/><coach position=\"bullpen_coach\"
172
+ first=\"Dom\" last=\"Chiti\" id=\"492826\" num=\"54\"/>\t</team>\n\t<team
173
+ type=\"home\" id=\"BOS\" name=\"Boston Red Sox\">\n\t\t<player id=\"120074\"
174
+ first=\"David\" last=\"Ortiz\" num=\"34\" boxname=\"Ortiz, D\" rl=\"L\" bats=\"L\"
175
+ position=\"D\" current_position=\"DH\" status=\"A\" team_abbrev=\"BOS\" team_id=\"111\"
176
+ parent_team_abbrev=\"BOS\" parent_team_id=\"111\" bat_order=\"3\" game_position=\"DH\"
177
+ avg=\".171\" hr=\"2\" rbi=\"3\"/>\n\t\t<player id=\"425664\" first=\"Shane\"
178
+ last=\"Victorino\" num=\"18\" boxname=\"Victorino\" rl=\"R\" bats=\"R\" position=\"RF\"
179
+ status=\"A\" team_abbrev=\"BOS\" team_id=\"111\" parent_team_abbrev=\"BOS\"
180
+ parent_team_id=\"111\" avg=\".125\" hr=\"0\" rbi=\"2\"/>\n\t\t<player id=\"434670\"
181
+ first=\"Hanley\" last=\"Ramirez\" num=\"13\" boxname=\"Ramirez, H\" rl=\"R\"
182
+ bats=\"R\" position=\"LF\" current_position=\"LF\" status=\"A\" team_abbrev=\"BOS\"
183
+ team_id=\"111\" parent_team_abbrev=\"BOS\" parent_team_id=\"111\" bat_order=\"4\"
184
+ game_position=\"LF\" avg=\".256\" hr=\"4\" rbi=\"9\"/>\n\t\t<player id=\"435063\"
185
+ first=\"Mike\" last=\"Napoli\" num=\"12\" boxname=\"Napoli\" rl=\"R\" bats=\"R\"
186
+ position=\"1B\" current_position=\"1B\" status=\"A\" team_abbrev=\"BOS\" team_id=\"111\"
187
+ parent_team_abbrev=\"BOS\" parent_team_id=\"111\" bat_order=\"6\" game_position=\"1B\"
188
+ avg=\".118\" hr=\"0\" rbi=\"0\"/>\n\t\t<player id=\"444520\" first=\"Craig\"
189
+ last=\"Breslow\" num=\"32\" boxname=\"Breslow\" rl=\"L\" bats=\"L\" position=\"P\"
190
+ status=\"A\" team_abbrev=\"BOS\" team_id=\"111\" parent_team_abbrev=\"BOS\"
191
+ parent_team_id=\"111\" avg=\".000\" hr=\"0\" rbi=\"0\" wins=\"0\" losses=\"0\"
192
+ era=\"0.00\"/>\n\t\t<player id=\"452672\" first=\"Ryan\" last=\"Hanigan\"
193
+ num=\"10\" boxname=\"Hanigan\" rl=\"R\" bats=\"R\" position=\"C\" current_position=\"C\"
194
+ status=\"A\" team_abbrev=\"BOS\" team_id=\"111\" parent_team_abbrev=\"BOS\"
195
+ parent_team_id=\"111\" bat_order=\"9\" game_position=\"C\" avg=\".136\" hr=\"1\"
196
+ rbi=\"5\"/>\n\t\t<player id=\"453329\" first=\"Clay\" last=\"Buchholz\" num=\"11\"
197
+ boxname=\"Buchholz\" rl=\"R\" bats=\"L\" position=\"P\" current_position=\"P\"
198
+ status=\"A\" team_abbrev=\"BOS\" team_id=\"111\" parent_team_abbrev=\"BOS\"
199
+ parent_team_id=\"111\" bat_order=\"0\" game_position=\"P\" avg=\".000\" hr=\"0\"
200
+ rbi=\"0\" wins=\"1\" losses=\"1\" era=\"7.84\"/>\n\t\t<player id=\"456030\"
201
+ first=\"Dustin\" last=\"Pedroia\" num=\"15\" boxname=\"Pedroia\" rl=\"R\"
202
+ bats=\"R\" position=\"2B\" current_position=\"2B\" status=\"A\" team_abbrev=\"BOS\"
203
+ team_id=\"111\" parent_team_abbrev=\"BOS\" parent_team_id=\"111\" bat_order=\"2\"
204
+ game_position=\"2B\" avg=\".279\" hr=\"3\" rbi=\"6\"/>\n\t\t<player id=\"460008\"
205
+ first=\"Anthony\" last=\"Varvaro\" num=\"46\" boxname=\"Varvaro\" rl=\"R\"
206
+ bats=\"R\" position=\"P\" current_position=\"P\" status=\"A\" team_abbrev=\"BOS\"
207
+ team_id=\"111\" parent_team_abbrev=\"BOS\" parent_team_id=\"111\" avg=\".000\"
208
+ hr=\"0\" rbi=\"0\" wins=\"0\" losses=\"0\" era=\"1.69\"/>\n\t\t<player id=\"465629\"
209
+ first=\"Edward\" last=\"Mujica\" num=\"54\" boxname=\"Mujica\" rl=\"R\" bats=\"R\"
210
+ position=\"P\" status=\"A\" team_abbrev=\"BOS\" team_id=\"111\" parent_team_abbrev=\"BOS\"
211
+ parent_team_id=\"111\" avg=\".000\" hr=\"0\" rbi=\"0\" wins=\"1\" losses=\"0\"
212
+ era=\"3.18\"/>\n\t\t<player id=\"467055\" first=\"Pablo\" last=\"Sandoval\"
213
+ num=\"48\" boxname=\"Sandoval\" rl=\"R\" bats=\"S\" position=\"3B\" current_position=\"3B\"
214
+ status=\"A\" team_abbrev=\"BOS\" team_id=\"111\" parent_team_abbrev=\"BOS\"
215
+ parent_team_id=\"111\" bat_order=\"5\" game_position=\"3B\" avg=\".316\" hr=\"0\"
216
+ rbi=\"3\"/>\n\t\t<player id=\"468396\" first=\"Alexi\" last=\"Ogando\" num=\"41\"
217
+ boxname=\"Ogando\" rl=\"R\" bats=\"R\" position=\"P\" current_position=\"P\"
218
+ status=\"A\" team_abbrev=\"BOS\" team_id=\"111\" parent_team_abbrev=\"BOS\"
219
+ parent_team_id=\"111\" avg=\".000\" hr=\"0\" rbi=\"0\" wins=\"0\" losses=\"0\"
220
+ era=\"6.75\"/>\n\t\t<player id=\"475416\" first=\"Justin\" last=\"Masterson\"
221
+ num=\"63\" boxname=\"Masterson\" rl=\"R\" bats=\"R\" position=\"P\" status=\"A\"
222
+ team_abbrev=\"BOS\" team_id=\"111\" parent_team_abbrev=\"BOS\" parent_team_id=\"111\"
223
+ avg=\".667\" hr=\"0\" rbi=\"1\" wins=\"1\" losses=\"0\" era=\"7.59\"/>\n\t\t<player
224
+ id=\"489119\" first=\"Wade\" last=\"Miley\" num=\"20\" boxname=\"Miley\" rl=\"L\"
225
+ bats=\"L\" position=\"P\" status=\"A\" team_abbrev=\"BOS\" team_id=\"111\"
226
+ parent_team_abbrev=\"BOS\" parent_team_id=\"111\" avg=\".000\" hr=\"0\" rbi=\"0\"
227
+ wins=\"0\" losses=\"1\" era=\"10.57\"/>\n\t\t<player id=\"493157\" first=\"Koji\"
228
+ last=\"Uehara\" num=\"19\" boxname=\"Uehara\" rl=\"R\" bats=\"R\" position=\"P\"
229
+ status=\"A\" team_abbrev=\"BOS\" team_id=\"111\" parent_team_abbrev=\"BOS\"
230
+ parent_team_id=\"111\" avg=\".000\" hr=\"0\" rbi=\"0\" wins=\"1\" losses=\"0\"
231
+ era=\"0.00\"/>\n\t\t<player id=\"501800\" first=\"Allen\" last=\"Craig\" num=\"5\"
232
+ boxname=\"Craig\" rl=\"R\" bats=\"R\" position=\"RF\" current_position=\"PH\"
233
+ status=\"A\" team_abbrev=\"BOS\" team_id=\"111\" parent_team_abbrev=\"BOS\"
234
+ parent_team_id=\"111\" avg=\".083\" hr=\"0\" rbi=\"0\"/>\n\t\t<player id=\"506702\"
235
+ first=\"Sandy\" last=\"Leon\" num=\"3\" boxname=\"Leon, S\" rl=\"R\" bats=\"S\"
236
+ position=\"C\" status=\"A\" team_abbrev=\"BOS\" team_id=\"111\" parent_team_abbrev=\"BOS\"
237
+ parent_team_id=\"111\" avg=\".273\" hr=\"0\" rbi=\"2\"/>\n\t\t<player id=\"519144\"
238
+ first=\"Rick\" last=\"Porcello\" num=\"22\" boxname=\"Porcello\" rl=\"R\"
239
+ bats=\"R\" position=\"P\" status=\"A\" team_abbrev=\"BOS\" team_id=\"111\"
240
+ parent_team_abbrev=\"BOS\" parent_team_id=\"111\" avg=\".000\" hr=\"0\" rbi=\"0\"
241
+ wins=\"1\" losses=\"1\" era=\"3.86\"/>\n\t\t<player id=\"519443\" first=\"Brandon\"
242
+ last=\"Workman\" num=\"67\" boxname=\"Workman\" rl=\"R\" bats=\"R\" position=\"P\"
243
+ status=\"A\" team_abbrev=\"BOS\" team_id=\"111\" parent_team_abbrev=\"BOS\"
244
+ parent_team_id=\"111\" avg=\".000\" hr=\"0\" rbi=\"0\" wins=\"0\" losses=\"0\"
245
+ era=\"-\"/>\n\t\t<player id=\"523260\" first=\"Joe\" last=\"Kelly\" num=\"56\"
246
+ boxname=\"Kelly, J\" rl=\"R\" bats=\"R\" position=\"P\" status=\"A\" team_abbrev=\"BOS\"
247
+ team_id=\"111\" parent_team_abbrev=\"BOS\" parent_team_id=\"111\" avg=\".000\"
248
+ hr=\"0\" rbi=\"0\" wins=\"1\" losses=\"0\" era=\"2.13\"/>\n\t\t<player id=\"537953\"
249
+ first=\"Daniel\" last=\"Nava\" num=\"29\" boxname=\"Nava\" rl=\"L\" bats=\"L\"
250
+ position=\"RF\" current_position=\"RF\" status=\"A\" team_abbrev=\"BOS\" team_id=\"111\"
251
+ parent_team_abbrev=\"BOS\" parent_team_id=\"111\" bat_order=\"7\" game_position=\"RF\"
252
+ avg=\".313\" hr=\"0\" rbi=\"5\"/>\n\t\t<player id=\"543726\" first=\"Robbie\"
253
+ last=\"Ross\" num=\"28\" boxname=\"Ross\" rl=\"L\" bats=\"L\" position=\"P\"
254
+ current_position=\"P\" status=\"A\" team_abbrev=\"BOS\" team_id=\"111\" parent_team_abbrev=\"BOS\"
255
+ parent_team_id=\"111\" avg=\".000\" hr=\"0\" rbi=\"0\" wins=\"0\" losses=\"0\"
256
+ era=\"3.86\"/>\n\t\t<player id=\"543877\" first=\"Christian\" last=\"Vazquez\"
257
+ num=\"7\" boxname=\"Vazquez\" rl=\"R\" bats=\"R\" position=\"C\" status=\"A\"
258
+ team_abbrev=\"BOS\" team_id=\"111\" parent_team_abbrev=\"BOS\" parent_team_id=\"111\"
259
+ avg=\".000\" hr=\"0\" rbi=\"0\"/>\n\t\t<player id=\"546276\" first=\"Edwin\"
260
+ last=\"Escobar\" num=\"51\" boxname=\"Escobar, Ed\" rl=\"L\" bats=\"L\" position=\"P\"
261
+ status=\"A\" team_abbrev=\"BOS\" team_id=\"111\" parent_team_abbrev=\"BOS\"
262
+ parent_team_id=\"111\" avg=\".000\" hr=\"0\" rbi=\"0\" wins=\"0\" losses=\"0\"
263
+ era=\"-\"/>\n\t\t<player id=\"547749\" first=\"Junichi\" last=\"Tazawa\" num=\"36\"
264
+ boxname=\"Tazawa\" rl=\"R\" bats=\"R\" position=\"P\" status=\"A\" team_abbrev=\"BOS\"
265
+ team_id=\"111\" parent_team_abbrev=\"BOS\" parent_team_id=\"111\" avg=\".000\"
266
+ hr=\"0\" rbi=\"0\" wins=\"0\" losses=\"0\" era=\"0.00\"/>\n\t\t<player id=\"571788\"
267
+ first=\"Brock\" last=\"Holt\" num=\"26\" boxname=\"Holt, B\" rl=\"R\" bats=\"L\"
268
+ position=\"3B\" current_position=\"CF\" status=\"A\" team_abbrev=\"BOS\" team_id=\"111\"
269
+ parent_team_abbrev=\"BOS\" parent_team_id=\"111\" bat_order=\"1\" game_position=\"CF\"
270
+ avg=\".533\" hr=\"0\" rbi=\"5\"/>\n\t\t<player id=\"593428\" first=\"Xander\"
271
+ last=\"Bogaerts\" num=\"2\" boxname=\"Bogaerts\" rl=\"R\" bats=\"R\" position=\"SS\"
272
+ current_position=\"SS\" status=\"A\" team_abbrev=\"BOS\" team_id=\"111\" parent_team_abbrev=\"BOS\"
273
+ parent_team_id=\"111\" bat_order=\"8\" game_position=\"SS\" avg=\".395\" hr=\"0\"
274
+ rbi=\"8\"/>\n\t\t<player id=\"605141\" first=\"Mookie\" last=\"Betts\" num=\"50\"
275
+ boxname=\"Betts\" rl=\"R\" bats=\"R\" position=\"O\" current_position=\"DH\"
276
+ status=\"A\" team_abbrev=\"BOS\" team_id=\"111\" parent_team_abbrev=\"BOS\"
277
+ parent_team_id=\"111\" avg=\".209\" hr=\"2\" rbi=\"8\"/>\n<coach position=\"manager\"
278
+ first=\"John\" last=\"Farrell\" id=\"114023\" num=\"53\"/><coach position=\"hitting_coach\"
279
+ first=\"Chili\" last=\"Davis\" id=\"113099\" num=\"44\"/><coach position=\"assistant_hitting_coach\"
280
+ first=\"Victor\" last=\"Rodriguez\" id=\"121367\" num=\"57\"/><coach position=\"pitching_coach\"
281
+ first=\"Juan\" last=\"Nieves\" id=\"119797\" num=\"47\"/><coach position=\"first_base_coach\"
282
+ first=\"Arnie\" last=\"Beyeler\" id=\"492469\" num=\"43\"/><coach position=\"third_base_coach\"
283
+ first=\"Brian\" last=\"Butterfield\" id=\"427047\" num=\"55\"/><coach position=\"bench_coach\"
284
+ first=\"Torey\" last=\"Lovullo\" id=\"117950\" num=\"17\"/><coach position=\"bullpen_coach\"
285
+ first=\"Dana\" last=\"LeVangie\" id=\"427298\" num=\"58\"/>\t</team>\n<umpires><umpire
286
+ position=\"home\" name=\"Jerry Meals\" id=\"427339\" first=\"Jerry\" last=\"Meals\"/><umpire
287
+ position=\"first\" name=\"Paul Emmel\" id=\"427144\" first=\"Paul\" last=\"Emmel\"/><umpire
288
+ position=\"second\" name=\"Andy Fletcher\" id=\"427164\" first=\"Andy\" last=\"Fletcher\"/><umpire
289
+ position=\"third\" name=\"Jordan Baker\" id=\"490319\" first=\"Jordan\" last=\"Baker\"/></umpires></game>"
290
+ http_version:
291
+ recorded_at: Sat, 09 May 2015 15:18:45 GMT
292
+ recorded_with: VCR 2.9.3
@@ -0,0 +1,46 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: http://gd2.mlb.com/components/game/mlb/year_2015/month_04/day_18/gid_2015_04_18_balmlb_bosmlb_2/players.xml
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ Accept-Encoding:
11
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
12
+ Accept:
13
+ - "*/*"
14
+ User-Agent:
15
+ - Ruby
16
+ response:
17
+ status:
18
+ code: 404
19
+ message: Not Found
20
+ headers:
21
+ Server:
22
+ - Apache/2.0.65 (Unix)
23
+ Content-Type:
24
+ - text/html; charset=iso-8859-1
25
+ Content-Length:
26
+ - '23'
27
+ Accept-Ranges:
28
+ - bytes
29
+ Date:
30
+ - Sat, 09 May 2015 15:19:08 GMT
31
+ X-Varnish:
32
+ - '1395167522'
33
+ Via:
34
+ - 1.1 varnish
35
+ Connection:
36
+ - keep-alive
37
+ X-Varnish-Cache:
38
+ - MISS
39
+ X-Served-By:
40
+ - w1cache11.web1.mlbam.net
41
+ body:
42
+ encoding: UTF-8
43
+ string: GameDay - 404 Not Found
44
+ http_version:
45
+ recorded_at: Sat, 09 May 2015 15:19:08 GMT
46
+ recorded_with: VCR 2.9.3
@@ -0,0 +1,170 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: http://gd2.mlb.com/components/game/mlb/year_2015/month_04/day_18
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ Accept-Encoding:
11
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
12
+ Accept:
13
+ - "*/*"
14
+ User-Agent:
15
+ - Ruby
16
+ response:
17
+ status:
18
+ code: 301
19
+ message: Moved Permanently
20
+ headers:
21
+ Server:
22
+ - Apache/2.0.65 (Unix)
23
+ Location:
24
+ - http://gd2.mlb.com/components/game/mlb/year_2015/month_04/day_18/
25
+ Cache-Control:
26
+ - max-age=15
27
+ Expires:
28
+ - Sat, 09 May 2015 15:21:03 GMT
29
+ Content-Type:
30
+ - text/html; charset=iso-8859-1
31
+ Content-Length:
32
+ - '273'
33
+ Accept-Ranges:
34
+ - bytes
35
+ Date:
36
+ - Sat, 09 May 2015 15:20:48 GMT
37
+ X-Varnish:
38
+ - '1395184967'
39
+ Via:
40
+ - 1.1 varnish
41
+ Connection:
42
+ - keep-alive
43
+ X-Varnish-Cache:
44
+ - MISS
45
+ X-Served-By:
46
+ - w1cache11.web1.mlbam.net
47
+ body:
48
+ encoding: UTF-8
49
+ string: |
50
+ <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
51
+ <html><head>
52
+ <title>301 Moved Permanently</title>
53
+ </head><body>
54
+ <h1>Moved Permanently</h1>
55
+ <p>The document has moved <a href="http://gd2.mlb.com/components/game/mlb/year_2015/month_04/day_18/">here</a>.</p>
56
+ </body></html>
57
+ http_version:
58
+ recorded_at: Sat, 09 May 2015 15:20:48 GMT
59
+ - request:
60
+ method: get
61
+ uri: http://gd2.mlb.com/components/game/mlb/year_2015/month_04/day_18/
62
+ body:
63
+ encoding: US-ASCII
64
+ string: ''
65
+ headers:
66
+ Accept-Encoding:
67
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
68
+ Accept:
69
+ - "*/*"
70
+ User-Agent:
71
+ - Ruby
72
+ response:
73
+ status:
74
+ code: 200
75
+ message: OK
76
+ headers:
77
+ Server:
78
+ - Apache/2.0.65 (Unix)
79
+ Expires:
80
+ - Sat, 09 May 2015 15:21:03 GMT
81
+ Access-Control-Allow-Origin:
82
+ - "*"
83
+ Edge-Control:
84
+ - max-age=15
85
+ Cache-Control:
86
+ - max-age=15
87
+ Content-Type:
88
+ - text/html;charset=ISO-8859-1
89
+ Content-Length:
90
+ - '3765'
91
+ Accept-Ranges:
92
+ - bytes
93
+ Date:
94
+ - Sat, 09 May 2015 15:20:48 GMT
95
+ X-Varnish:
96
+ - '1791914792'
97
+ Via:
98
+ - 1.1 varnish
99
+ Connection:
100
+ - keep-alive
101
+ X-Varnish-Cache:
102
+ - MISS
103
+ X-Served-By:
104
+ - w1cache12.web1.mlbam.net
105
+ body:
106
+ encoding: UTF-8
107
+ string: |
108
+ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
109
+ <html>
110
+ <head>
111
+ <title>Index of /components/game/mlb/year_2015/month_04/day_18</title>
112
+ </head>
113
+ <body>
114
+ <h1>Index of /components/game/mlb/year_2015/month_04/day_18</h1>
115
+ <ul><li><a href="/components/game/mlb/year_2015/month_04/"> Parent Directory</a></li>
116
+ <li><a href="batters/"> batters/</a></li>
117
+ <li><a href="epg.xml"> epg.xml</a></li>
118
+ <li><a href="gid_2015_04_18_anamlb_houmlb_1/"> gid_2015_04_18_anamlb_houmlb_1/</a></li>
119
+ <li><a href="gid_2015_04_18_arimlb_sfnmlb_1/"> gid_2015_04_18_arimlb_sfnmlb_1/</a></li>
120
+ <li><a href="gid_2015_04_18_atlmlb_tormlb_1/"> gid_2015_04_18_atlmlb_tormlb_1/</a></li>
121
+ <li><a href="gid_2015_04_18_balmlb_bosmlb_1/"> gid_2015_04_18_balmlb_bosmlb_1/</a></li>
122
+ <li><a href="gid_2015_04_18_chamlb_detmlb_1/"> gid_2015_04_18_chamlb_detmlb_1/</a></li>
123
+ <li><a href="gid_2015_04_18_cinmlb_slnmlb_1/"> gid_2015_04_18_cinmlb_slnmlb_1/</a></li>
124
+ <li><a href="gid_2015_04_18_clemlb_minmlb_1/"> gid_2015_04_18_clemlb_minmlb_1/</a></li>
125
+ <li><a href="gid_2015_04_18_colmlb_lanmlb_1/"> gid_2015_04_18_colmlb_lanmlb_1/</a></li>
126
+ <li><a href="gid_2015_04_18_miamlb_nynmlb_1/"> gid_2015_04_18_miamlb_nynmlb_1/</a></li>
127
+ <li><a href="gid_2015_04_18_milmlb_pitmlb_1/"> gid_2015_04_18_milmlb_pitmlb_1/</a></li>
128
+ <li><a href="gid_2015_04_18_nyamlb_tbamlb_1/"> gid_2015_04_18_nyamlb_tbamlb_1/</a></li>
129
+ <li><a href="gid_2015_04_18_oakmlb_kcamlb_1/"> gid_2015_04_18_oakmlb_kcamlb_1/</a></li>
130
+ <li><a href="gid_2015_04_18_phimlb_wasmlb_1/"> gid_2015_04_18_phimlb_wasmlb_1/</a></li>
131
+ <li><a href="gid_2015_04_18_sdnmlb_chnmlb_1/"> gid_2015_04_18_sdnmlb_chnmlb_1/</a></li>
132
+ <li><a href="gid_2015_04_18_texmlb_seamlb_1/"> gid_2015_04_18_texmlb_seamlb_1/</a></li>
133
+ <li><a href="grid.json"> grid.json</a></li>
134
+ <li><a href="grid.xml"> grid.xml</a></li>
135
+ <li><a href="grid_ce.json"> grid_ce.json</a></li>
136
+ <li><a href="grid_ce.xml"> grid_ce.xml</a></li>
137
+ <li><a href="grid_int.json"> grid_int.json</a></li>
138
+ <li><a href="grid_int.xml"> grid_int.xml</a></li>
139
+ <li><a href="master_scoreboard.json"> master_scoreboard.json</a></li>
140
+ <li><a href="master_scoreboard.xml"> master_scoreboard.xml</a></li>
141
+ <li><a href="media/"> media/</a></li>
142
+ <li><a href="miniscoreboard.json"> miniscoreboard.json</a></li>
143
+ <li><a href="miniscoreboard.xml"> miniscoreboard.xml</a></li>
144
+ <li><a href="mlbtv_japan.xml"> mlbtv_japan.xml</a></li>
145
+ <li><a href="mobile_epg.xml"> mobile_epg.xml</a></li>
146
+ <li><a href="mobile_inmarket_epg.xml"> mobile_inmarket_epg.xml</a></li>
147
+ <li><a href="multi_angle_epg.json"> multi_angle_epg.json</a></li>
148
+ <li><a href="multi_angle_epg.xml"> multi_angle_epg.xml</a></li>
149
+ <li><a href="pitchers/"> pitchers/</a></li>
150
+ <li><a href="pitching_staff/"> pitching_staff/</a></li>
151
+ <li><a href="playertracker.xml"> playertracker.xml</a></li>
152
+ <li><a href="scoreboard.xml"> scoreboard.xml</a></li>
153
+ <li><a href="scoreboard_android.xml"> scoreboard_android.xml</a></li>
154
+ <li><a href="scoreboard_android_es.xml"> scoreboard_android_es.xml</a></li>
155
+ <li><a href="scoreboard_blackberry.xml"> scoreboard_blackberry.xml</a></li>
156
+ <li><a href="scoreboard_blackberry_es.xml"> scoreboard_blackberry_es.xml</a></li>
157
+ <li><a href="scoreboard_ipad.xml"> scoreboard_ipad.xml</a></li>
158
+ <li><a href="scoreboard_ipad_6.xml"> scoreboard_ipad_6.xml</a></li>
159
+ <li><a href="scoreboard_ipad_es.xml"> scoreboard_ipad_es.xml</a></li>
160
+ <li><a href="scoreboard_iphone.xml"> scoreboard_iphone.xml</a></li>
161
+ <li><a href="scoreboard_iphone_6.xml"> scoreboard_iphone_6.xml</a></li>
162
+ <li><a href="scoreboard_iphone_es.xml"> scoreboard_iphone_es.xml</a></li>
163
+ <li><a href="scoreboard_mac.xml"> scoreboard_mac.xml</a></li>
164
+ <li><a href="scoreboard_windows.xml"> scoreboard_windows.xml</a></li>
165
+ <li><a href="uber_scoreboard.xml"> uber_scoreboard.xml</a></li>
166
+ </ul>
167
+ </body></html>
168
+ http_version:
169
+ recorded_at: Sat, 09 May 2015 15:20:48 GMT
170
+ recorded_with: VCR 2.9.3
@@ -0,0 +1,80 @@
1
+ require "spec_helper"
2
+
3
+ RSpec.describe Greenmonster::DaySpider do
4
+ describe "#pull" do
5
+ it "invokes a GameSpider for each game played that day within the sport code" do
6
+ VCR.use_cassette "mlb/year_2015/month_04/day_18" do
7
+ game_spider = spy("Greenmonster::GameSpider", pull: true)
8
+ allow(Greenmonster::GameSpider).to receive(:new) { game_spider }
9
+
10
+ described_class.new(sport_code: "mlb", date: Date.new(2015, 4, 18)).pull
11
+
12
+ %w(
13
+ gid_2015_04_18_anamlb_houmlb_1
14
+ gid_2015_04_18_arimlb_sfnmlb_1
15
+ gid_2015_04_18_atlmlb_tormlb_1
16
+ gid_2015_04_18_balmlb_bosmlb_1
17
+ gid_2015_04_18_chamlb_detmlb_1
18
+ gid_2015_04_18_cinmlb_slnmlb_1
19
+ gid_2015_04_18_clemlb_minmlb_1
20
+ gid_2015_04_18_colmlb_lanmlb_1
21
+ gid_2015_04_18_miamlb_nynmlb_1
22
+ gid_2015_04_18_milmlb_pitmlb_1
23
+ gid_2015_04_18_nyamlb_tbamlb_1
24
+ gid_2015_04_18_oakmlb_kcamlb_1
25
+ gid_2015_04_18_phimlb_wasmlb_1
26
+ gid_2015_04_18_sdnmlb_chnmlb_1
27
+ gid_2015_04_18_texmlb_seamlb_1
28
+ ).each do |game_id|
29
+ expect(Greenmonster::GameSpider).
30
+ to have_received(:new).
31
+ with(game_id: game_id, sport_code: "mlb")
32
+ end
33
+ expect(game_spider).to have_received(:pull).exactly(15).times
34
+ end
35
+ end
36
+
37
+ it "correctly spiders non-MLB sport codes" do
38
+ VCR.use_cassette "aaa/year_2015/month_05/day_09" do
39
+ game_spider = spy("Greenmonster::GameSpider", pull: true)
40
+ allow(Greenmonster::GameSpider).to receive(:new) { game_spider }
41
+
42
+ described_class.new(sport_code: "aaa", date: Date.new(2015, 5, 9)).pull
43
+
44
+ %w(
45
+ gid_2015_05_09_albaaa_srcaaa_1
46
+ gid_2015_05_09_bufaaa_noraaa_1
47
+ gid_2015_05_09_cdcaaa_yucaaa_1
48
+ gid_2015_05_09_chraaa_tolaaa_1
49
+ gid_2015_05_09_cspaaa_iowaaa_1
50
+ gid_2015_05_09_dubaaa_syraaa_1
51
+ gid_2015_05_09_gwiaaa_lhvaaa_1
52
+ gid_2015_05_09_indaaa_swbaaa_1
53
+ gid_2015_05_09_lvgaaa_elpaaa_1
54
+ gid_2015_05_09_mxoaaa_tijaaa_1
55
+ gid_2015_05_09_mxoaaa_tijaaa_2
56
+ gid_2015_05_09_nozaaa_mrbaaa_1
57
+ gid_2015_05_09_okcaaa_omaaaa_1
58
+ gid_2015_05_09_orhaaa_omaaaa_1
59
+ gid_2015_05_09_pawaaa_colaaa_1
60
+ gid_2015_05_09_pueaaa_oaxaaa_1
61
+ gid_2015_05_09_quiaaa_camaaa_1
62
+ gid_2015_05_09_renaaa_slcaaa_1
63
+ gid_2015_05_09_reyaaa_mtyaaa_1
64
+ gid_2015_05_09_rocaaa_louaaa_1
65
+ gid_2015_05_09_rreaaa_nasaaa_1
66
+ gid_2015_05_09_sltaaa_aguaaa_1
67
+ gid_2015_05_09_tacaaa_freaaa_1
68
+ gid_2015_05_09_vaqaaa_mvaaaa_1
69
+ gid_2015_05_09_vraaaa_tabaaa_1
70
+ ).each do |game_id|
71
+ expect(Greenmonster::GameSpider).
72
+ to have_received(:new).
73
+ with(game_id: game_id, sport_code: "aaa")
74
+ end
75
+
76
+ expect(game_spider).to have_received(:pull).exactly(25).times
77
+ end
78
+ end
79
+ end
80
+ end