greenmonster 0.5.0 → 1.0.0

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 (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