sports_data_api 0.0.3 → 0.1.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 (124) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +7 -0
  3. data/.ruby-gemset +1 -0
  4. data/.ruby-version +1 -0
  5. data/.travis.yml +2 -1
  6. data/Guardfile +1 -1
  7. data/README.md +20 -5
  8. data/lib/sports_data_api/exception.rb +5 -0
  9. data/lib/sports_data_api/mlb/boxscore.rb +36 -0
  10. data/lib/sports_data_api/mlb/broadcast.rb +14 -0
  11. data/lib/sports_data_api/mlb/game.rb +30 -0
  12. data/lib/sports_data_api/mlb/game_stat.rb +26 -0
  13. data/lib/sports_data_api/mlb/game_stats.rb +44 -0
  14. data/lib/sports_data_api/mlb/games.rb +29 -0
  15. data/lib/sports_data_api/mlb/player.rb +17 -0
  16. data/lib/sports_data_api/mlb/players.rb +42 -0
  17. data/lib/sports_data_api/mlb/season.rb +18 -0
  18. data/lib/sports_data_api/mlb/team.rb +35 -0
  19. data/lib/sports_data_api/mlb/teams.rb +42 -0
  20. data/lib/sports_data_api/mlb/venue.rb +15 -0
  21. data/lib/sports_data_api/mlb/venues.rb +37 -0
  22. data/lib/sports_data_api/mlb.rb +82 -0
  23. data/lib/sports_data_api/nba/broadcast.rb +14 -0
  24. data/lib/sports_data_api/nba/game.rb +54 -0
  25. data/lib/sports_data_api/nba/games.rb +26 -0
  26. data/lib/sports_data_api/nba/player.rb +22 -0
  27. data/lib/sports_data_api/nba/season.rb +28 -0
  28. data/lib/sports_data_api/nba/team.rb +40 -0
  29. data/lib/sports_data_api/nba/teams.rb +83 -0
  30. data/lib/sports_data_api/nba/venue.rb +20 -0
  31. data/lib/sports_data_api/nba.rb +71 -0
  32. data/lib/sports_data_api/nfl/broadcast.rb +15 -0
  33. data/lib/sports_data_api/nfl/game.rb +83 -0
  34. data/lib/sports_data_api/nfl/games.rb +29 -0
  35. data/lib/sports_data_api/nfl/injuries.rb +9 -0
  36. data/lib/sports_data_api/nfl/player.rb +15 -0
  37. data/lib/sports_data_api/nfl/player_season_stats.rb +26 -0
  38. data/lib/sports_data_api/nfl/season.rb +27 -0
  39. data/lib/sports_data_api/nfl/team.rb +46 -0
  40. data/lib/sports_data_api/nfl/team_roster.rb +17 -0
  41. data/lib/sports_data_api/nfl/team_season_stats.rb +19 -0
  42. data/lib/sports_data_api/nfl/teams.rb +84 -0
  43. data/lib/sports_data_api/nfl/venue.rb +22 -0
  44. data/lib/sports_data_api/nfl/weather.rb +17 -0
  45. data/lib/sports_data_api/nfl/week.rb +20 -0
  46. data/lib/sports_data_api/nfl.rb +98 -0
  47. data/lib/sports_data_api/stats.rb +13 -0
  48. data/lib/sports_data_api/version.rb +1 -1
  49. data/lib/sports_data_api.rb +37 -12
  50. data/spec/cassettes/sports_data_api_mlb_game.yml +20193 -0
  51. data/spec/cassettes/sports_data_api_mlb_game_boxscore.yml +225 -0
  52. data/spec/cassettes/sports_data_api_mlb_game_stats.yml +657 -0
  53. data/spec/cassettes/sports_data_api_mlb_games.yml +195 -0
  54. data/spec/cassettes/sports_data_api_mlb_player.yml +10891 -0
  55. data/spec/cassettes/sports_data_api_mlb_season.yml +20193 -0
  56. data/spec/cassettes/sports_data_api_mlb_team.yml +182 -0
  57. data/spec/cassettes/sports_data_api_mlb_team_roster.yml +10891 -0
  58. data/spec/cassettes/sports_data_api_mlb_teams.yml +403 -0
  59. data/spec/cassettes/sports_data_api_mlb_venues.yml +343 -0
  60. data/spec/cassettes/sports_data_api_nba.yml +74176 -0
  61. data/spec/cassettes/sports_data_api_nba_broadcast.yml +88 -0
  62. data/spec/cassettes/sports_data_api_nba_game.yml +21202 -0
  63. data/spec/cassettes/sports_data_api_nba_games.yml +128 -0
  64. data/spec/cassettes/sports_data_api_nba_league_hierarchy.yml +545 -0
  65. data/spec/cassettes/sports_data_api_nba_player.yml +244 -0
  66. data/spec/cassettes/sports_data_api_nba_season.yml +18228 -0
  67. data/spec/cassettes/sports_data_api_nba_team.yml +1398 -0
  68. data/spec/cassettes/sports_data_api_nba_team_roster.yml +244 -0
  69. data/spec/cassettes/sports_data_api_nba_venue.yml +88 -0
  70. data/spec/cassettes/sports_data_api_nfl.yml +19105 -0
  71. data/spec/cassettes/sports_data_api_nfl_broadcast.yml +112 -0
  72. data/spec/cassettes/sports_data_api_nfl_game.yml +16139 -0
  73. data/spec/cassettes/sports_data_api_nfl_games.yml +912 -0
  74. data/spec/cassettes/sports_data_api_nfl_player_season_stats.yml +997 -0
  75. data/spec/cassettes/sports_data_api_nfl_season.yml +14100 -0
  76. data/spec/cassettes/sports_data_api_nfl_team.yml +783 -0
  77. data/spec/cassettes/sports_data_api_nfl_team_hierarchy.yml +909 -0
  78. data/spec/cassettes/sports_data_api_nfl_team_roster.yml +618 -0
  79. data/spec/cassettes/sports_data_api_nfl_team_season_stats.yml +981 -0
  80. data/spec/cassettes/sports_data_api_nfl_venue.yml +112 -0
  81. data/spec/cassettes/sports_data_api_nfl_weather.yml +112 -0
  82. data/spec/cassettes/sports_data_api_nfl_week.yml +14100 -0
  83. data/spec/lib/sports_data_api/mlb/boxscore_spec.rb +63 -0
  84. data/spec/lib/sports_data_api/mlb/game_spec.rb +24 -0
  85. data/spec/lib/sports_data_api/mlb/game_stats_spec.rb +25 -0
  86. data/spec/lib/sports_data_api/mlb/games_spec.rb +24 -0
  87. data/spec/lib/sports_data_api/mlb/player_spec.rb +103 -0
  88. data/spec/lib/sports_data_api/mlb/players_spec.rb +17 -0
  89. data/spec/lib/sports_data_api/mlb/season_spec.rb +19 -0
  90. data/spec/lib/sports_data_api/mlb/team_spec.rb +24 -0
  91. data/spec/lib/sports_data_api/mlb/teams_spec.rb +30 -0
  92. data/spec/lib/sports_data_api/mlb/venues_spec.rb +17 -0
  93. data/spec/lib/sports_data_api/nba/broadcast_spec.rb +18 -0
  94. data/spec/lib/sports_data_api/nba/game_spec.rb +87 -0
  95. data/spec/lib/sports_data_api/nba/games_spec.rb +19 -0
  96. data/spec/lib/sports_data_api/nba/player_spec.rb +72 -0
  97. data/spec/lib/sports_data_api/nba/season_spec.rb +41 -0
  98. data/spec/lib/sports_data_api/nba/team_spec.rb +185 -0
  99. data/spec/lib/sports_data_api/nba/teams_spec.rb +76 -0
  100. data/spec/lib/sports_data_api/nba/venue_spec.rb +24 -0
  101. data/spec/lib/sports_data_api/nba_spec.rb +41 -0
  102. data/spec/lib/sports_data_api/nfl/broadcast_spec.rb +19 -0
  103. data/spec/lib/sports_data_api/nfl/game_spec.rb +126 -0
  104. data/spec/lib/sports_data_api/nfl/games_spec.rb +21 -0
  105. data/spec/lib/sports_data_api/nfl/player_season_stats.rb +28 -0
  106. data/spec/lib/sports_data_api/nfl/season_spec.rb +41 -0
  107. data/spec/lib/sports_data_api/nfl/team_roster_spec.rb +28 -0
  108. data/spec/lib/sports_data_api/nfl/team_season_stats.rb +19 -0
  109. data/spec/lib/sports_data_api/nfl/team_spec.rb +52 -0
  110. data/spec/lib/sports_data_api/nfl/teams_spec.rb +77 -0
  111. data/spec/lib/sports_data_api/nfl/venue_spec.rb +26 -0
  112. data/spec/lib/sports_data_api/nfl/weather_spec.rb +21 -0
  113. data/spec/lib/sports_data_api/nfl/week_spec.rb +21 -0
  114. data/spec/lib/sports_data_api/nfl_spec.rb +113 -0
  115. data/spec/lib/sports_data_api_spec.rb +8 -5
  116. data/spec/spec_helper.rb +30 -9
  117. data/sports_data_api.gemspec +19 -15
  118. metadata +267 -76
  119. data/.rvmrc +0 -38
  120. data/lib/nfl.rb +0 -149
  121. data/spec/lib/nfl_spec.rb +0 -125
  122. data/spec/xml/boxscore.xml +0 -93
  123. data/spec/xml/schedule.xml +0 -4067
  124. data/spec/xml/teams.xml +0 -119
metadata CHANGED
@@ -1,239 +1,430 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sports_data_api
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.3
5
- prerelease:
4
+ version: 0.1.0
6
5
  platform: ruby
7
6
  authors:
8
- - Ryan Lovelett
7
+ - Ryan
8
+ - Lovelett
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-11-04 00:00:00.000000000 Z
12
+ date: 2014-09-14 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: nokogiri
16
16
  requirement: !ruby/object:Gem::Requirement
17
- none: false
18
17
  requirements:
19
- - - ~>
18
+ - - "~>"
20
19
  - !ruby/object:Gem::Version
21
20
  version: 1.5.5
22
21
  type: :runtime
23
22
  prerelease: false
24
23
  version_requirements: !ruby/object:Gem::Requirement
25
- none: false
26
24
  requirements:
27
- - - ~>
25
+ - - "~>"
28
26
  - !ruby/object:Gem::Version
29
27
  version: 1.5.5
30
28
  - !ruby/object:Gem::Dependency
31
29
  name: rest-client
32
30
  requirement: !ruby/object:Gem::Requirement
33
- none: false
34
31
  requirements:
35
- - - ~>
32
+ - - "~>"
36
33
  - !ruby/object:Gem::Version
37
34
  version: 1.6.7
38
35
  type: :runtime
39
36
  prerelease: false
40
37
  version_requirements: !ruby/object:Gem::Requirement
41
- none: false
42
38
  requirements:
43
- - - ~>
39
+ - - "~>"
44
40
  - !ruby/object:Gem::Version
45
41
  version: 1.6.7
46
42
  - !ruby/object:Gem::Dependency
47
43
  name: rake
48
44
  requirement: !ruby/object:Gem::Requirement
49
- none: false
50
45
  requirements:
51
- - - ~>
46
+ - - "~>"
52
47
  - !ruby/object:Gem::Version
53
- version: 0.9.2.2
48
+ version: 10.0.4
54
49
  type: :development
55
50
  prerelease: false
56
51
  version_requirements: !ruby/object:Gem::Requirement
57
- none: false
58
52
  requirements:
59
- - - ~>
53
+ - - "~>"
60
54
  - !ruby/object:Gem::Version
61
- version: 0.9.2.2
55
+ version: 10.0.4
62
56
  - !ruby/object:Gem::Dependency
63
57
  name: rspec
64
58
  requirement: !ruby/object:Gem::Requirement
65
- none: false
66
59
  requirements:
67
- - - ~>
60
+ - - "~>"
68
61
  - !ruby/object:Gem::Version
69
- version: 2.11.0
62
+ version: 2.13.0
70
63
  type: :development
71
64
  prerelease: false
72
65
  version_requirements: !ruby/object:Gem::Requirement
73
- none: false
74
66
  requirements:
75
- - - ~>
67
+ - - "~>"
76
68
  - !ruby/object:Gem::Version
77
- version: 2.11.0
69
+ version: 2.13.0
78
70
  - !ruby/object:Gem::Dependency
79
71
  name: rspec-xml
80
72
  requirement: !ruby/object:Gem::Requirement
81
- none: false
82
73
  requirements:
83
- - - ~>
74
+ - - "~>"
84
75
  - !ruby/object:Gem::Version
85
76
  version: 0.0.6
86
77
  type: :development
87
78
  prerelease: false
88
79
  version_requirements: !ruby/object:Gem::Requirement
89
- none: false
90
80
  requirements:
91
- - - ~>
81
+ - - "~>"
92
82
  - !ruby/object:Gem::Version
93
83
  version: 0.0.6
94
84
  - !ruby/object:Gem::Dependency
95
85
  name: guard-rspec
96
86
  requirement: !ruby/object:Gem::Requirement
97
- none: false
98
87
  requirements:
99
- - - ~>
88
+ - - "~>"
100
89
  - !ruby/object:Gem::Version
101
- version: 2.1.0
90
+ version: 2.5.1
102
91
  type: :development
103
92
  prerelease: false
104
93
  version_requirements: !ruby/object:Gem::Requirement
105
- none: false
106
94
  requirements:
107
- - - ~>
95
+ - - "~>"
108
96
  - !ruby/object:Gem::Version
109
- version: 2.1.0
97
+ version: 2.5.1
110
98
  - !ruby/object:Gem::Dependency
111
99
  name: rb-fsevent
112
100
  requirement: !ruby/object:Gem::Requirement
113
- none: false
114
101
  requirements:
115
- - - ~>
102
+ - - "~>"
116
103
  - !ruby/object:Gem::Version
117
104
  version: 0.9.1
118
105
  type: :development
119
106
  prerelease: false
120
107
  version_requirements: !ruby/object:Gem::Requirement
121
- none: false
122
108
  requirements:
123
- - - ~>
109
+ - - "~>"
124
110
  - !ruby/object:Gem::Version
125
111
  version: 0.9.1
126
112
  - !ruby/object:Gem::Dependency
127
113
  name: growl
128
114
  requirement: !ruby/object:Gem::Requirement
129
- none: false
130
115
  requirements:
131
- - - ~>
116
+ - - "~>"
132
117
  - !ruby/object:Gem::Version
133
118
  version: 1.0.3
134
119
  type: :development
135
120
  prerelease: false
136
121
  version_requirements: !ruby/object:Gem::Requirement
137
- none: false
138
122
  requirements:
139
- - - ~>
123
+ - - "~>"
140
124
  - !ruby/object:Gem::Version
141
125
  version: 1.0.3
142
126
  - !ruby/object:Gem::Dependency
143
127
  name: terminal-notifier-guard
144
128
  requirement: !ruby/object:Gem::Requirement
145
- none: false
146
129
  requirements:
147
- - - ~>
130
+ - - "~>"
148
131
  - !ruby/object:Gem::Version
149
132
  version: 1.5.3
150
133
  type: :development
151
134
  prerelease: false
152
135
  version_requirements: !ruby/object:Gem::Requirement
153
- none: false
154
136
  requirements:
155
- - - ~>
137
+ - - "~>"
156
138
  - !ruby/object:Gem::Version
157
139
  version: 1.5.3
140
+ - !ruby/object:Gem::Dependency
141
+ name: vcr
142
+ requirement: !ruby/object:Gem::Requirement
143
+ requirements:
144
+ - - "~>"
145
+ - !ruby/object:Gem::Version
146
+ version: 2.4.0
147
+ type: :development
148
+ prerelease: false
149
+ version_requirements: !ruby/object:Gem::Requirement
150
+ requirements:
151
+ - - "~>"
152
+ - !ruby/object:Gem::Version
153
+ version: 2.4.0
154
+ - !ruby/object:Gem::Dependency
155
+ name: webmock
156
+ requirement: !ruby/object:Gem::Requirement
157
+ requirements:
158
+ - - "~>"
159
+ - !ruby/object:Gem::Version
160
+ version: 1.9.0
161
+ type: :development
162
+ prerelease: false
163
+ version_requirements: !ruby/object:Gem::Requirement
164
+ requirements:
165
+ - - "~>"
166
+ - !ruby/object:Gem::Version
167
+ version: 1.9.0
158
168
  - !ruby/object:Gem::Dependency
159
169
  name: faker
160
170
  requirement: !ruby/object:Gem::Requirement
161
- none: false
162
171
  requirements:
163
- - - ~>
172
+ - - "~>"
164
173
  - !ruby/object:Gem::Version
165
174
  version: 1.1.2
166
175
  type: :development
167
176
  prerelease: false
168
177
  version_requirements: !ruby/object:Gem::Requirement
169
- none: false
170
178
  requirements:
171
- - - ~>
179
+ - - "~>"
172
180
  - !ruby/object:Gem::Version
173
181
  version: 1.1.2
182
+ - !ruby/object:Gem::Dependency
183
+ name: simplecov
184
+ requirement: !ruby/object:Gem::Requirement
185
+ requirements:
186
+ - - "~>"
187
+ - !ruby/object:Gem::Version
188
+ version: 0.7.1
189
+ type: :development
190
+ prerelease: false
191
+ version_requirements: !ruby/object:Gem::Requirement
192
+ requirements:
193
+ - - "~>"
194
+ - !ruby/object:Gem::Version
195
+ version: 0.7.1
196
+ - !ruby/object:Gem::Dependency
197
+ name: coveralls
198
+ requirement: !ruby/object:Gem::Requirement
199
+ requirements:
200
+ - - ">="
201
+ - !ruby/object:Gem::Version
202
+ version: '0'
203
+ type: :development
204
+ prerelease: false
205
+ version_requirements: !ruby/object:Gem::Requirement
206
+ requirements:
207
+ - - ">="
208
+ - !ruby/object:Gem::Version
209
+ version: '0'
174
210
  description: A Ruby interface to the Sports Data API.
175
211
  email:
176
- - ryan@lovelett.me
212
+ - ryan@lovelett.me'
177
213
  executables: []
178
214
  extensions: []
179
215
  extra_rdoc_files: []
180
216
  files:
181
- - .gitignore
182
- - .rspec
183
- - .rvmrc
184
- - .travis.yml
217
+ - ".gitignore"
218
+ - ".rspec"
219
+ - ".ruby-gemset"
220
+ - ".ruby-version"
221
+ - ".travis.yml"
185
222
  - Gemfile
186
223
  - Guardfile
187
224
  - LICENSE.md
188
225
  - README.md
189
226
  - Rakefile
190
- - lib/nfl.rb
191
227
  - lib/sports_data_api.rb
228
+ - lib/sports_data_api/exception.rb
229
+ - lib/sports_data_api/mlb.rb
230
+ - lib/sports_data_api/mlb/boxscore.rb
231
+ - lib/sports_data_api/mlb/broadcast.rb
232
+ - lib/sports_data_api/mlb/game.rb
233
+ - lib/sports_data_api/mlb/game_stat.rb
234
+ - lib/sports_data_api/mlb/game_stats.rb
235
+ - lib/sports_data_api/mlb/games.rb
236
+ - lib/sports_data_api/mlb/player.rb
237
+ - lib/sports_data_api/mlb/players.rb
238
+ - lib/sports_data_api/mlb/season.rb
239
+ - lib/sports_data_api/mlb/team.rb
240
+ - lib/sports_data_api/mlb/teams.rb
241
+ - lib/sports_data_api/mlb/venue.rb
242
+ - lib/sports_data_api/mlb/venues.rb
243
+ - lib/sports_data_api/nba.rb
244
+ - lib/sports_data_api/nba/broadcast.rb
245
+ - lib/sports_data_api/nba/game.rb
246
+ - lib/sports_data_api/nba/games.rb
247
+ - lib/sports_data_api/nba/player.rb
248
+ - lib/sports_data_api/nba/season.rb
249
+ - lib/sports_data_api/nba/team.rb
250
+ - lib/sports_data_api/nba/teams.rb
251
+ - lib/sports_data_api/nba/venue.rb
252
+ - lib/sports_data_api/nfl.rb
253
+ - lib/sports_data_api/nfl/broadcast.rb
254
+ - lib/sports_data_api/nfl/game.rb
255
+ - lib/sports_data_api/nfl/games.rb
256
+ - lib/sports_data_api/nfl/injuries.rb
257
+ - lib/sports_data_api/nfl/player.rb
258
+ - lib/sports_data_api/nfl/player_season_stats.rb
259
+ - lib/sports_data_api/nfl/season.rb
260
+ - lib/sports_data_api/nfl/team.rb
261
+ - lib/sports_data_api/nfl/team_roster.rb
262
+ - lib/sports_data_api/nfl/team_season_stats.rb
263
+ - lib/sports_data_api/nfl/teams.rb
264
+ - lib/sports_data_api/nfl/venue.rb
265
+ - lib/sports_data_api/nfl/weather.rb
266
+ - lib/sports_data_api/nfl/week.rb
267
+ - lib/sports_data_api/stats.rb
192
268
  - lib/sports_data_api/version.rb
193
- - spec/lib/nfl_spec.rb
269
+ - spec/cassettes/sports_data_api_mlb_game.yml
270
+ - spec/cassettes/sports_data_api_mlb_game_boxscore.yml
271
+ - spec/cassettes/sports_data_api_mlb_game_stats.yml
272
+ - spec/cassettes/sports_data_api_mlb_games.yml
273
+ - spec/cassettes/sports_data_api_mlb_player.yml
274
+ - spec/cassettes/sports_data_api_mlb_season.yml
275
+ - spec/cassettes/sports_data_api_mlb_team.yml
276
+ - spec/cassettes/sports_data_api_mlb_team_roster.yml
277
+ - spec/cassettes/sports_data_api_mlb_teams.yml
278
+ - spec/cassettes/sports_data_api_mlb_venues.yml
279
+ - spec/cassettes/sports_data_api_nba.yml
280
+ - spec/cassettes/sports_data_api_nba_broadcast.yml
281
+ - spec/cassettes/sports_data_api_nba_game.yml
282
+ - spec/cassettes/sports_data_api_nba_games.yml
283
+ - spec/cassettes/sports_data_api_nba_league_hierarchy.yml
284
+ - spec/cassettes/sports_data_api_nba_player.yml
285
+ - spec/cassettes/sports_data_api_nba_season.yml
286
+ - spec/cassettes/sports_data_api_nba_team.yml
287
+ - spec/cassettes/sports_data_api_nba_team_roster.yml
288
+ - spec/cassettes/sports_data_api_nba_venue.yml
289
+ - spec/cassettes/sports_data_api_nfl.yml
290
+ - spec/cassettes/sports_data_api_nfl_broadcast.yml
291
+ - spec/cassettes/sports_data_api_nfl_game.yml
292
+ - spec/cassettes/sports_data_api_nfl_games.yml
293
+ - spec/cassettes/sports_data_api_nfl_player_season_stats.yml
294
+ - spec/cassettes/sports_data_api_nfl_season.yml
295
+ - spec/cassettes/sports_data_api_nfl_team.yml
296
+ - spec/cassettes/sports_data_api_nfl_team_hierarchy.yml
297
+ - spec/cassettes/sports_data_api_nfl_team_roster.yml
298
+ - spec/cassettes/sports_data_api_nfl_team_season_stats.yml
299
+ - spec/cassettes/sports_data_api_nfl_venue.yml
300
+ - spec/cassettes/sports_data_api_nfl_weather.yml
301
+ - spec/cassettes/sports_data_api_nfl_week.yml
302
+ - spec/lib/sports_data_api/mlb/boxscore_spec.rb
303
+ - spec/lib/sports_data_api/mlb/game_spec.rb
304
+ - spec/lib/sports_data_api/mlb/game_stats_spec.rb
305
+ - spec/lib/sports_data_api/mlb/games_spec.rb
306
+ - spec/lib/sports_data_api/mlb/player_spec.rb
307
+ - spec/lib/sports_data_api/mlb/players_spec.rb
308
+ - spec/lib/sports_data_api/mlb/season_spec.rb
309
+ - spec/lib/sports_data_api/mlb/team_spec.rb
310
+ - spec/lib/sports_data_api/mlb/teams_spec.rb
311
+ - spec/lib/sports_data_api/mlb/venues_spec.rb
312
+ - spec/lib/sports_data_api/nba/broadcast_spec.rb
313
+ - spec/lib/sports_data_api/nba/game_spec.rb
314
+ - spec/lib/sports_data_api/nba/games_spec.rb
315
+ - spec/lib/sports_data_api/nba/player_spec.rb
316
+ - spec/lib/sports_data_api/nba/season_spec.rb
317
+ - spec/lib/sports_data_api/nba/team_spec.rb
318
+ - spec/lib/sports_data_api/nba/teams_spec.rb
319
+ - spec/lib/sports_data_api/nba/venue_spec.rb
320
+ - spec/lib/sports_data_api/nba_spec.rb
321
+ - spec/lib/sports_data_api/nfl/broadcast_spec.rb
322
+ - spec/lib/sports_data_api/nfl/game_spec.rb
323
+ - spec/lib/sports_data_api/nfl/games_spec.rb
324
+ - spec/lib/sports_data_api/nfl/player_season_stats.rb
325
+ - spec/lib/sports_data_api/nfl/season_spec.rb
326
+ - spec/lib/sports_data_api/nfl/team_roster_spec.rb
327
+ - spec/lib/sports_data_api/nfl/team_season_stats.rb
328
+ - spec/lib/sports_data_api/nfl/team_spec.rb
329
+ - spec/lib/sports_data_api/nfl/teams_spec.rb
330
+ - spec/lib/sports_data_api/nfl/venue_spec.rb
331
+ - spec/lib/sports_data_api/nfl/weather_spec.rb
332
+ - spec/lib/sports_data_api/nfl/week_spec.rb
333
+ - spec/lib/sports_data_api/nfl_spec.rb
194
334
  - spec/lib/sports_data_api_spec.rb
195
335
  - spec/spec_helper.rb
196
- - spec/xml/boxscore.xml
197
- - spec/xml/schedule.xml
198
- - spec/xml/teams.xml
199
336
  - sports_data_api.gemspec
200
337
  homepage: https://github.com/RLovelett/sports_data_api
201
338
  licenses: []
339
+ metadata: {}
202
340
  post_install_message:
203
341
  rdoc_options: []
204
342
  require_paths:
205
343
  - lib
206
344
  required_ruby_version: !ruby/object:Gem::Requirement
207
- none: false
208
345
  requirements:
209
- - - ! '>='
346
+ - - ">="
210
347
  - !ruby/object:Gem::Version
211
348
  version: '0'
212
- segments:
213
- - 0
214
- hash: -1101910959746624840
215
349
  required_rubygems_version: !ruby/object:Gem::Requirement
216
- none: false
217
350
  requirements:
218
- - - ! '>='
351
+ - - ">="
219
352
  - !ruby/object:Gem::Version
220
353
  version: '0'
221
- segments:
222
- - 0
223
- hash: -1101910959746624840
224
354
  requirements: []
225
355
  rubyforge_project:
226
- rubygems_version: 1.8.24
356
+ rubygems_version: 2.2.2
227
357
  signing_key:
228
- specification_version: 3
358
+ specification_version: 4
229
359
  summary: SportsData’s comprehensive data coverage includes all major U.S. sports,
230
360
  plus hundreds of leagues throughout the world. Their live game analysts capture
231
361
  every possible event of every game, in real time and with accuracy standards developed
232
362
  from years of experience.
233
363
  test_files:
234
- - spec/lib/nfl_spec.rb
364
+ - spec/cassettes/sports_data_api_mlb_game.yml
365
+ - spec/cassettes/sports_data_api_mlb_game_boxscore.yml
366
+ - spec/cassettes/sports_data_api_mlb_game_stats.yml
367
+ - spec/cassettes/sports_data_api_mlb_games.yml
368
+ - spec/cassettes/sports_data_api_mlb_player.yml
369
+ - spec/cassettes/sports_data_api_mlb_season.yml
370
+ - spec/cassettes/sports_data_api_mlb_team.yml
371
+ - spec/cassettes/sports_data_api_mlb_team_roster.yml
372
+ - spec/cassettes/sports_data_api_mlb_teams.yml
373
+ - spec/cassettes/sports_data_api_mlb_venues.yml
374
+ - spec/cassettes/sports_data_api_nba.yml
375
+ - spec/cassettes/sports_data_api_nba_broadcast.yml
376
+ - spec/cassettes/sports_data_api_nba_game.yml
377
+ - spec/cassettes/sports_data_api_nba_games.yml
378
+ - spec/cassettes/sports_data_api_nba_league_hierarchy.yml
379
+ - spec/cassettes/sports_data_api_nba_player.yml
380
+ - spec/cassettes/sports_data_api_nba_season.yml
381
+ - spec/cassettes/sports_data_api_nba_team.yml
382
+ - spec/cassettes/sports_data_api_nba_team_roster.yml
383
+ - spec/cassettes/sports_data_api_nba_venue.yml
384
+ - spec/cassettes/sports_data_api_nfl.yml
385
+ - spec/cassettes/sports_data_api_nfl_broadcast.yml
386
+ - spec/cassettes/sports_data_api_nfl_game.yml
387
+ - spec/cassettes/sports_data_api_nfl_games.yml
388
+ - spec/cassettes/sports_data_api_nfl_player_season_stats.yml
389
+ - spec/cassettes/sports_data_api_nfl_season.yml
390
+ - spec/cassettes/sports_data_api_nfl_team.yml
391
+ - spec/cassettes/sports_data_api_nfl_team_hierarchy.yml
392
+ - spec/cassettes/sports_data_api_nfl_team_roster.yml
393
+ - spec/cassettes/sports_data_api_nfl_team_season_stats.yml
394
+ - spec/cassettes/sports_data_api_nfl_venue.yml
395
+ - spec/cassettes/sports_data_api_nfl_weather.yml
396
+ - spec/cassettes/sports_data_api_nfl_week.yml
397
+ - spec/lib/sports_data_api/mlb/boxscore_spec.rb
398
+ - spec/lib/sports_data_api/mlb/game_spec.rb
399
+ - spec/lib/sports_data_api/mlb/game_stats_spec.rb
400
+ - spec/lib/sports_data_api/mlb/games_spec.rb
401
+ - spec/lib/sports_data_api/mlb/player_spec.rb
402
+ - spec/lib/sports_data_api/mlb/players_spec.rb
403
+ - spec/lib/sports_data_api/mlb/season_spec.rb
404
+ - spec/lib/sports_data_api/mlb/team_spec.rb
405
+ - spec/lib/sports_data_api/mlb/teams_spec.rb
406
+ - spec/lib/sports_data_api/mlb/venues_spec.rb
407
+ - spec/lib/sports_data_api/nba/broadcast_spec.rb
408
+ - spec/lib/sports_data_api/nba/game_spec.rb
409
+ - spec/lib/sports_data_api/nba/games_spec.rb
410
+ - spec/lib/sports_data_api/nba/player_spec.rb
411
+ - spec/lib/sports_data_api/nba/season_spec.rb
412
+ - spec/lib/sports_data_api/nba/team_spec.rb
413
+ - spec/lib/sports_data_api/nba/teams_spec.rb
414
+ - spec/lib/sports_data_api/nba/venue_spec.rb
415
+ - spec/lib/sports_data_api/nba_spec.rb
416
+ - spec/lib/sports_data_api/nfl/broadcast_spec.rb
417
+ - spec/lib/sports_data_api/nfl/game_spec.rb
418
+ - spec/lib/sports_data_api/nfl/games_spec.rb
419
+ - spec/lib/sports_data_api/nfl/player_season_stats.rb
420
+ - spec/lib/sports_data_api/nfl/season_spec.rb
421
+ - spec/lib/sports_data_api/nfl/team_roster_spec.rb
422
+ - spec/lib/sports_data_api/nfl/team_season_stats.rb
423
+ - spec/lib/sports_data_api/nfl/team_spec.rb
424
+ - spec/lib/sports_data_api/nfl/teams_spec.rb
425
+ - spec/lib/sports_data_api/nfl/venue_spec.rb
426
+ - spec/lib/sports_data_api/nfl/weather_spec.rb
427
+ - spec/lib/sports_data_api/nfl/week_spec.rb
428
+ - spec/lib/sports_data_api/nfl_spec.rb
235
429
  - spec/lib/sports_data_api_spec.rb
236
430
  - spec/spec_helper.rb
237
- - spec/xml/boxscore.xml
238
- - spec/xml/schedule.xml
239
- - spec/xml/teams.xml
data/.rvmrc DELETED
@@ -1,38 +0,0 @@
1
- #!/usr/bin/env bash
2
-
3
- # This is an RVM Project .rvmrc file, used to automatically load the ruby
4
- # development environment upon cd'ing into the directory
5
-
6
- # First we specify our desired <ruby>[@<gemset>], the @gemset name is optional,
7
- # Only full ruby name is supported here, for short names use:
8
- # echo "rvm use 1.9.3" > .rvmrc
9
- environment_id="ruby-1.9.3-p194@sports-data"
10
-
11
- # Uncomment the following lines if you want to verify rvm version per project
12
- # rvmrc_rvm_version="1.14.11 (stable)" # 1.10.1 seams as a safe start
13
- # eval "$(echo ${rvm_version}.${rvmrc_rvm_version} | awk -F. '{print "[[ "$1*65536+$2*256+$3" -ge "$4*65536+$5*256+$6" ]]"}' )" || {
14
- # echo "This .rvmrc file requires at least RVM ${rvmrc_rvm_version}, aborting loading."
15
- # return 1
16
- # }
17
-
18
- # First we attempt to load the desired environment directly from the environment
19
- # file. This is very fast and efficient compared to running through the entire
20
- # CLI and selector. If you want feedback on which environment was used then
21
- # insert the word 'use' after --create as this triggers verbose mode.
22
- if [[ -d "${rvm_path:-$HOME/.rvm}/environments"
23
- && -s "${rvm_path:-$HOME/.rvm}/environments/$environment_id" ]]
24
- then
25
- \. "${rvm_path:-$HOME/.rvm}/environments/$environment_id"
26
- [[ -s "${rvm_path:-$HOME/.rvm}/hooks/after_use" ]] &&
27
- \. "${rvm_path:-$HOME/.rvm}/hooks/after_use" || true
28
- if [[ $- == *i* ]] # check for interactive shells
29
- then echo "Using: $(tput setaf 2)$GEM_HOME$(tput sgr0)" # show the user the ruby and gemset they are using in green
30
- else echo "Using: $GEM_HOME" # don't use colors in non-interactive shells
31
- fi
32
- else
33
- # If the environment file has not yet been created, use the RVM CLI to select.
34
- rvm --create use "$environment_id" || {
35
- echo "Failed to create RVM environment '${environment_id}'."
36
- return 1
37
- }
38
- fi
data/lib/nfl.rb DELETED
@@ -1,149 +0,0 @@
1
- module SportsDataApi
2
- module Nfl
3
-
4
- class Exception < ::Exception
5
- end
6
-
7
- class Season
8
- attr_reader :year, :type, :weeks
9
-
10
- def initialize(xml)
11
- @weeks = []
12
- if xml.is_a? Nokogiri::XML::NodeSet
13
- @year = xml.first["season"].to_i
14
- @type = xml.first["type"].to_sym
15
- @weeks = xml.first.xpath("week").map do |week_xml|
16
- Week.new(week_xml)
17
- end
18
- end
19
- end
20
- end
21
-
22
- class Week
23
- attr_reader :number, :games
24
-
25
- def initialize(xml)
26
- @games = []
27
- if xml.is_a? Nokogiri::XML::Element
28
- @number = xml["week"].to_i
29
- @games = xml.xpath("game").map do |game_xml|
30
- Game.new(game_xml)
31
- end
32
- end
33
- end
34
- end
35
-
36
- class Game
37
- attr_reader :id, :scheduled, :home, :home_team, :away, :away_team, :status, :quarter, :clock
38
-
39
- def initialize(xml)
40
- xml = xml.first if xml.is_a? Nokogiri::XML::NodeSet
41
- if xml.is_a? Nokogiri::XML::Element
42
- @id = xml["id"]
43
- @scheduled = Time.parse xml["scheduled"]
44
- @home = xml["home"]
45
- @away = xml["away"]
46
- @status = xml["status"]
47
- @quarter = xml["quarter"].to_i
48
- @clock = xml["clock"]
49
-
50
- team_xml = xml.xpath("team")
51
- @home_team = Team.new(team_xml.first)
52
- @away_team = Team.new(team_xml.last)
53
- end
54
- end
55
- end
56
-
57
- class Team
58
- attr_reader :id, :name, :market, :remaining_challenges, :remaining_timeouts, :score, :quarters
59
-
60
- def initialize(xml)
61
- if xml.is_a? Nokogiri::XML::Element
62
- @id = xml["id"]
63
- @name = xml["name"]
64
- @market = xml["market"]
65
- @remaining_challenges = xml["remaining_challenges"].to_i
66
- @remaining_timeouts = xml["remaining_timeouts"].to_i
67
- @quarters = xml.xpath("scoring/quarter").map do |quarter|
68
- quarter["points"].to_i
69
- end
70
- @quarters = @quarters.fill(0, @quarters.size, 4 - @quarters.size)
71
- end
72
- end
73
-
74
- # Sum the score of each quarter
75
- def score
76
- @quarters.inject(:+)
77
- end
78
- end
79
-
80
- BASE_URL = "http://api.sportsdatallc.org/nfl-%{access_level}%{version}"
81
- SEASONS = [:PRE, :REG, :PST]
82
-
83
- def self.schedule(year, season, version = 1)
84
- base_url = BASE_URL % { access_level: SportsDataApi.access_level, version: version }
85
- season = season.to_s.upcase.to_sym
86
- raise SportsDataApi::Nfl::Exception.new("#{season} is not a valid season") unless season?(season)
87
- url = "#{base_url}/#{year}/#{season}/schedule.xml"
88
-
89
- begin
90
- # Perform the request
91
- response = RestClient.get(url, params: { api_key: SportsDataApi.key })
92
-
93
- # Load the XML and ignore namespaces in Nokogiri
94
- schedule = Nokogiri::XML(response.to_s)
95
- schedule.remove_namespaces!
96
-
97
- return Season.new(schedule.xpath("/season"))
98
- rescue RestClient::Exception => e
99
- message = if e.response.headers.key? :x_server_error
100
- JSON.parse(e.response.headers[:x_server_error], { symbolize_names: true })[:message]
101
- elsif e.response.headers.key? :x_mashery_error_code
102
- e.response.headers[:x_mashery_error_code]
103
- else
104
- "The server did not specify a message"
105
- end
106
- raise SportsDataApi::Exception, message
107
- end
108
- end
109
-
110
- ##
111
- #
112
- def self.boxscore(year, season, week, home, away, version = 1)
113
- base_url = BASE_URL % { access_level: SportsDataApi.access_level, version: version }
114
- season = season.to_s.upcase.to_sym
115
- raise SportsDataApi::Nfl::Exception.new("#{season} is not a valid season") unless season?(season)
116
- url = "#{base_url}/#{year}/#{season}/#{week}/#{away}/#{home}/boxscore.xml"
117
-
118
- begin
119
- # Perform the request
120
- response = RestClient.get(url, params: { api_key: SportsDataApi.key })
121
-
122
- # Load the XML and ignore namespaces in Nokogiri
123
- boxscore = Nokogiri::XML(response.to_s)
124
- boxscore.remove_namespaces!
125
-
126
- return Game.new(boxscore.xpath("/game"))
127
- rescue RestClient::Exception => e
128
- message = if e.response.headers.key? :x_server_error
129
- JSON.parse(e.response.headers[:x_server_error], { symbolize_names: true })[:message]
130
- elsif e.response.headers.key? :x_mashery_error_code
131
- e.response.headers[:x_mashery_error_code]
132
- else
133
- "The server did not specify a message"
134
- end
135
- raise SportsDataApi::Exception, message
136
- end
137
- end
138
-
139
- ##
140
- # Check if the requested season is a valid
141
- # NFL season type.
142
- #
143
- # The only valid types are: :PRE, :REG, :PST
144
- def self.season?(season)
145
- SEASONS.include?(season)
146
- end
147
-
148
- end
149
- end