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.
- checksums.yaml +7 -0
- data/.gitignore +7 -0
- data/.ruby-gemset +1 -0
- data/.ruby-version +1 -0
- data/.travis.yml +2 -1
- data/Guardfile +1 -1
- data/README.md +20 -5
- data/lib/sports_data_api/exception.rb +5 -0
- data/lib/sports_data_api/mlb/boxscore.rb +36 -0
- data/lib/sports_data_api/mlb/broadcast.rb +14 -0
- data/lib/sports_data_api/mlb/game.rb +30 -0
- data/lib/sports_data_api/mlb/game_stat.rb +26 -0
- data/lib/sports_data_api/mlb/game_stats.rb +44 -0
- data/lib/sports_data_api/mlb/games.rb +29 -0
- data/lib/sports_data_api/mlb/player.rb +17 -0
- data/lib/sports_data_api/mlb/players.rb +42 -0
- data/lib/sports_data_api/mlb/season.rb +18 -0
- data/lib/sports_data_api/mlb/team.rb +35 -0
- data/lib/sports_data_api/mlb/teams.rb +42 -0
- data/lib/sports_data_api/mlb/venue.rb +15 -0
- data/lib/sports_data_api/mlb/venues.rb +37 -0
- data/lib/sports_data_api/mlb.rb +82 -0
- data/lib/sports_data_api/nba/broadcast.rb +14 -0
- data/lib/sports_data_api/nba/game.rb +54 -0
- data/lib/sports_data_api/nba/games.rb +26 -0
- data/lib/sports_data_api/nba/player.rb +22 -0
- data/lib/sports_data_api/nba/season.rb +28 -0
- data/lib/sports_data_api/nba/team.rb +40 -0
- data/lib/sports_data_api/nba/teams.rb +83 -0
- data/lib/sports_data_api/nba/venue.rb +20 -0
- data/lib/sports_data_api/nba.rb +71 -0
- data/lib/sports_data_api/nfl/broadcast.rb +15 -0
- data/lib/sports_data_api/nfl/game.rb +83 -0
- data/lib/sports_data_api/nfl/games.rb +29 -0
- data/lib/sports_data_api/nfl/injuries.rb +9 -0
- data/lib/sports_data_api/nfl/player.rb +15 -0
- data/lib/sports_data_api/nfl/player_season_stats.rb +26 -0
- data/lib/sports_data_api/nfl/season.rb +27 -0
- data/lib/sports_data_api/nfl/team.rb +46 -0
- data/lib/sports_data_api/nfl/team_roster.rb +17 -0
- data/lib/sports_data_api/nfl/team_season_stats.rb +19 -0
- data/lib/sports_data_api/nfl/teams.rb +84 -0
- data/lib/sports_data_api/nfl/venue.rb +22 -0
- data/lib/sports_data_api/nfl/weather.rb +17 -0
- data/lib/sports_data_api/nfl/week.rb +20 -0
- data/lib/sports_data_api/nfl.rb +98 -0
- data/lib/sports_data_api/stats.rb +13 -0
- data/lib/sports_data_api/version.rb +1 -1
- data/lib/sports_data_api.rb +37 -12
- data/spec/cassettes/sports_data_api_mlb_game.yml +20193 -0
- data/spec/cassettes/sports_data_api_mlb_game_boxscore.yml +225 -0
- data/spec/cassettes/sports_data_api_mlb_game_stats.yml +657 -0
- data/spec/cassettes/sports_data_api_mlb_games.yml +195 -0
- data/spec/cassettes/sports_data_api_mlb_player.yml +10891 -0
- data/spec/cassettes/sports_data_api_mlb_season.yml +20193 -0
- data/spec/cassettes/sports_data_api_mlb_team.yml +182 -0
- data/spec/cassettes/sports_data_api_mlb_team_roster.yml +10891 -0
- data/spec/cassettes/sports_data_api_mlb_teams.yml +403 -0
- data/spec/cassettes/sports_data_api_mlb_venues.yml +343 -0
- data/spec/cassettes/sports_data_api_nba.yml +74176 -0
- data/spec/cassettes/sports_data_api_nba_broadcast.yml +88 -0
- data/spec/cassettes/sports_data_api_nba_game.yml +21202 -0
- data/spec/cassettes/sports_data_api_nba_games.yml +128 -0
- data/spec/cassettes/sports_data_api_nba_league_hierarchy.yml +545 -0
- data/spec/cassettes/sports_data_api_nba_player.yml +244 -0
- data/spec/cassettes/sports_data_api_nba_season.yml +18228 -0
- data/spec/cassettes/sports_data_api_nba_team.yml +1398 -0
- data/spec/cassettes/sports_data_api_nba_team_roster.yml +244 -0
- data/spec/cassettes/sports_data_api_nba_venue.yml +88 -0
- data/spec/cassettes/sports_data_api_nfl.yml +19105 -0
- data/spec/cassettes/sports_data_api_nfl_broadcast.yml +112 -0
- data/spec/cassettes/sports_data_api_nfl_game.yml +16139 -0
- data/spec/cassettes/sports_data_api_nfl_games.yml +912 -0
- data/spec/cassettes/sports_data_api_nfl_player_season_stats.yml +997 -0
- data/spec/cassettes/sports_data_api_nfl_season.yml +14100 -0
- data/spec/cassettes/sports_data_api_nfl_team.yml +783 -0
- data/spec/cassettes/sports_data_api_nfl_team_hierarchy.yml +909 -0
- data/spec/cassettes/sports_data_api_nfl_team_roster.yml +618 -0
- data/spec/cassettes/sports_data_api_nfl_team_season_stats.yml +981 -0
- data/spec/cassettes/sports_data_api_nfl_venue.yml +112 -0
- data/spec/cassettes/sports_data_api_nfl_weather.yml +112 -0
- data/spec/cassettes/sports_data_api_nfl_week.yml +14100 -0
- data/spec/lib/sports_data_api/mlb/boxscore_spec.rb +63 -0
- data/spec/lib/sports_data_api/mlb/game_spec.rb +24 -0
- data/spec/lib/sports_data_api/mlb/game_stats_spec.rb +25 -0
- data/spec/lib/sports_data_api/mlb/games_spec.rb +24 -0
- data/spec/lib/sports_data_api/mlb/player_spec.rb +103 -0
- data/spec/lib/sports_data_api/mlb/players_spec.rb +17 -0
- data/spec/lib/sports_data_api/mlb/season_spec.rb +19 -0
- data/spec/lib/sports_data_api/mlb/team_spec.rb +24 -0
- data/spec/lib/sports_data_api/mlb/teams_spec.rb +30 -0
- data/spec/lib/sports_data_api/mlb/venues_spec.rb +17 -0
- data/spec/lib/sports_data_api/nba/broadcast_spec.rb +18 -0
- data/spec/lib/sports_data_api/nba/game_spec.rb +87 -0
- data/spec/lib/sports_data_api/nba/games_spec.rb +19 -0
- data/spec/lib/sports_data_api/nba/player_spec.rb +72 -0
- data/spec/lib/sports_data_api/nba/season_spec.rb +41 -0
- data/spec/lib/sports_data_api/nba/team_spec.rb +185 -0
- data/spec/lib/sports_data_api/nba/teams_spec.rb +76 -0
- data/spec/lib/sports_data_api/nba/venue_spec.rb +24 -0
- data/spec/lib/sports_data_api/nba_spec.rb +41 -0
- data/spec/lib/sports_data_api/nfl/broadcast_spec.rb +19 -0
- data/spec/lib/sports_data_api/nfl/game_spec.rb +126 -0
- data/spec/lib/sports_data_api/nfl/games_spec.rb +21 -0
- data/spec/lib/sports_data_api/nfl/player_season_stats.rb +28 -0
- data/spec/lib/sports_data_api/nfl/season_spec.rb +41 -0
- data/spec/lib/sports_data_api/nfl/team_roster_spec.rb +28 -0
- data/spec/lib/sports_data_api/nfl/team_season_stats.rb +19 -0
- data/spec/lib/sports_data_api/nfl/team_spec.rb +52 -0
- data/spec/lib/sports_data_api/nfl/teams_spec.rb +77 -0
- data/spec/lib/sports_data_api/nfl/venue_spec.rb +26 -0
- data/spec/lib/sports_data_api/nfl/weather_spec.rb +21 -0
- data/spec/lib/sports_data_api/nfl/week_spec.rb +21 -0
- data/spec/lib/sports_data_api/nfl_spec.rb +113 -0
- data/spec/lib/sports_data_api_spec.rb +8 -5
- data/spec/spec_helper.rb +30 -9
- data/sports_data_api.gemspec +19 -15
- metadata +267 -76
- data/.rvmrc +0 -38
- data/lib/nfl.rb +0 -149
- data/spec/lib/nfl_spec.rb +0 -125
- data/spec/xml/boxscore.xml +0 -93
- data/spec/xml/schedule.xml +0 -4067
- 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
|
5
|
-
prerelease:
|
4
|
+
version: 0.1.0
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
|
-
- Ryan
|
7
|
+
- Ryan
|
8
|
+
- Lovelett
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
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.
|
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.
|
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.
|
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.
|
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
|
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
|
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
|
-
- .
|
184
|
-
- .
|
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/
|
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:
|
356
|
+
rubygems_version: 2.2.2
|
227
357
|
signing_key:
|
228
|
-
specification_version:
|
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/
|
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
|