sports_data_api 0.12.1 → 0.13.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 +4 -4
- data/.travis.yml +2 -3
- data/lib/sports_data_api/merged_stats.rb +15 -0
- data/lib/sports_data_api/mlb.rb +0 -1
- data/lib/sports_data_api/nhl/broadcast.rb +1 -9
- data/lib/sports_data_api/nhl/game.rb +44 -30
- data/lib/sports_data_api/nhl/games.rb +16 -13
- data/lib/sports_data_api/nhl/player.rb +4 -25
- data/lib/sports_data_api/nhl/season.rb +15 -10
- data/lib/sports_data_api/nhl/team.rb +38 -17
- data/lib/sports_data_api/nhl/teams.rb +14 -65
- data/lib/sports_data_api/nhl/venue.rb +1 -15
- data/lib/sports_data_api/nhl.rb +9 -9
- data/lib/sports_data_api/version.rb +1 -1
- data/lib/sports_data_api.rb +1 -0
- data/spec/cassettes/sports_data_api_nhl.yml +22186 -18938
- data/spec/cassettes/sports_data_api_nhl_broadcast.yml +209 -193
- data/spec/cassettes/sports_data_api_nhl_game.yml +29397 -23777
- data/spec/cassettes/sports_data_api_nhl_games.yml +210 -194
- data/spec/cassettes/sports_data_api_nhl_league_hierarchy.yml +567 -488
- data/spec/cassettes/sports_data_api_nhl_player.yml +3588 -328
- data/spec/cassettes/sports_data_api_nhl_season.yml +15674 -18921
- data/spec/cassettes/sports_data_api_nhl_team.yml +3901 -2100
- data/spec/cassettes/sports_data_api_nhl_venue.yml +170 -193
- data/spec/lib/sports_data_api/{mlb/merged_stats_spec.rb → merged_stats_spec.rb} +4 -4
- data/spec/lib/sports_data_api/mlb/statistics_spec.rb +5 -5
- data/spec/lib/sports_data_api/nhl/broadcast_spec.rb +7 -4
- data/spec/lib/sports_data_api/nhl/game_spec.rb +65 -38
- data/spec/lib/sports_data_api/nhl/player_spec.rb +92 -40
- data/spec/lib/sports_data_api/nhl/season_spec.rb +1 -1
- data/spec/lib/sports_data_api/nhl/team_spec.rb +94 -182
- data/spec/lib/sports_data_api/nhl/teams_spec.rb +14 -65
- data/spec/lib/sports_data_api/nhl/venue_spec.rb +12 -9
- data/spec/lib/sports_data_api/nhl_spec.rb +94 -12
- metadata +5 -5
- data/lib/sports_data_api/mlb/merged_stats.rb +0 -17
@@ -7,34 +7,116 @@ describe SportsDataApi::Nhl, vcr: {
|
|
7
7
|
} do
|
8
8
|
|
9
9
|
context 'invalid API key' do
|
10
|
-
before
|
10
|
+
before do
|
11
11
|
SportsDataApi.set_key(:nhl, 'invalid_key')
|
12
|
-
SportsDataApi.set_access_level(:nhl, '
|
12
|
+
SportsDataApi.set_access_level(:nhl, 'trial')
|
13
13
|
end
|
14
|
+
|
14
15
|
describe '.schedule' do
|
15
|
-
it { expect { subject.schedule(
|
16
|
+
it { expect { subject.schedule(2017, :REG) }.to raise_error(SportsDataApi::Exception) }
|
17
|
+
end
|
18
|
+
|
19
|
+
describe '.team_roster' do
|
20
|
+
it { expect { subject.team_roster('team_uuid') }.to raise_error(SportsDataApi::Exception) }
|
21
|
+
end
|
22
|
+
|
23
|
+
describe '.game_summary' do
|
24
|
+
it { expect { subject.game_summary('game_uuid') }.to raise_error(SportsDataApi::Exception) }
|
25
|
+
end
|
26
|
+
|
27
|
+
describe '.teams' do
|
28
|
+
it { expect { subject.teams }.to raise_error(SportsDataApi::Exception) }
|
29
|
+
end
|
30
|
+
|
31
|
+
describe '.daily' do
|
32
|
+
it { expect { subject.daily(2017, 1, 1) }.to raise_error(SportsDataApi::Exception) }
|
16
33
|
end
|
17
34
|
end
|
18
35
|
|
19
36
|
context 'no response from the api' do
|
20
|
-
before
|
37
|
+
before do
|
38
|
+
SportsDataApi.set_key(:nhl, 'invalid_key')
|
39
|
+
SportsDataApi.set_access_level(:nhl, 'trial')
|
40
|
+
end
|
41
|
+
|
42
|
+
before { stub_request(:any, /api\.sportradar\.us.*/).to_timeout }
|
43
|
+
|
21
44
|
describe '.schedule' do
|
22
|
-
it { expect { subject.schedule(
|
45
|
+
it { expect { subject.schedule(2017, :REG) }.to raise_error(SportsDataApi::Exception) }
|
46
|
+
end
|
47
|
+
|
48
|
+
describe '.team_roster' do
|
49
|
+
it { expect { subject.team_roster('team_uuid') }.to raise_error(SportsDataApi::Exception) }
|
50
|
+
end
|
51
|
+
|
52
|
+
describe '.game_summary' do
|
53
|
+
it { expect { subject.game_summary('game_uuid') }.to raise_error(SportsDataApi::Exception) }
|
54
|
+
end
|
55
|
+
|
56
|
+
describe '.teams' do
|
57
|
+
it { expect { subject.teams }.to raise_error(SportsDataApi::Exception) }
|
58
|
+
end
|
59
|
+
|
60
|
+
describe '.daily' do
|
61
|
+
it { expect { subject.daily(2017, 1, 1) }.to raise_error(SportsDataApi::Exception) }
|
23
62
|
end
|
24
63
|
end
|
25
64
|
|
26
65
|
context 'create valid URLs' do
|
27
|
-
|
28
|
-
|
29
|
-
SportsDataApi.
|
30
|
-
SportsDataApi.set_access_level(:nhl, 'ot')
|
31
|
-
@schedule_xml = RestClient.get("#{schedule_url}?api_key=#{api_key(:nhl)}")
|
66
|
+
before do
|
67
|
+
SportsDataApi.set_key(:nhl, 'valid_key')
|
68
|
+
SportsDataApi.set_access_level(:nhl, 'trial')
|
32
69
|
end
|
70
|
+
|
33
71
|
describe '.schedule' do
|
72
|
+
let(:url) { 'https://api.sportradar.us/nhl/trial/v5/en/games/2017/REG/schedule.json' }
|
73
|
+
let!(:json) { RestClient.get("#{url}?api_key=#{api_key(:nhl)}") }
|
74
|
+
it 'creates a valid Sports Data LLC url' do
|
75
|
+
params = { params: { api_key: SportsDataApi.key(:nhl) } }
|
76
|
+
RestClient.should_receive(:get).with(url, params).and_return(json)
|
77
|
+
expect(subject.schedule(2017, :REG)).to be_a SportsDataApi::Nhl::Season
|
78
|
+
end
|
79
|
+
end
|
80
|
+
|
81
|
+
describe '.team_roster' do
|
82
|
+
let(:team_id) { '4416091c-0f24-11e2-8525-18a905767e44' }
|
83
|
+
let(:url) { "https://api.sportradar.us/nhl/trial/v5/en/teams/#{team_id}/profile.json" }
|
84
|
+
let!(:json) { RestClient.get("#{url}?api_key=#{api_key(:nhl)}") }
|
85
|
+
it 'creates a valid Sports Data LLC url' do
|
86
|
+
params = { params: { api_key: SportsDataApi.key(:nhl) } }
|
87
|
+
RestClient.should_receive(:get).with(url, params).and_return(json)
|
88
|
+
expect(subject.team_roster(team_id)).to be_a SportsDataApi::Nhl::Team
|
89
|
+
end
|
90
|
+
end
|
91
|
+
|
92
|
+
describe '.game_summary' do
|
93
|
+
let(:game_id) { 'af285aa3-3d80-4051-9449-5b58e5985a4e' }
|
94
|
+
let(:url) { "https://api.sportradar.us/nhl/trial/v5/en/games/#{game_id}/summary.json" }
|
95
|
+
let!(:json) { RestClient.get("#{url}?api_key=#{api_key(:nhl)}") }
|
96
|
+
it 'creates a valid Sports Data LLC url' do
|
97
|
+
params = { params: { api_key: SportsDataApi.key(:nhl) } }
|
98
|
+
RestClient.should_receive(:get).with(url, params).and_return(json)
|
99
|
+
expect(subject.game_summary(game_id)).to be_a SportsDataApi::Nhl::Game
|
100
|
+
end
|
101
|
+
end
|
102
|
+
|
103
|
+
describe '.teams' do
|
104
|
+
let(:url) { "https://api.sportradar.us/nhl/trial/v5/en/league/hierarchy.json" }
|
105
|
+
let!(:json) { RestClient.get("#{url}?api_key=#{api_key(:nhl)}") }
|
106
|
+
it 'creates a valid Sports Data LLC url' do
|
107
|
+
params = { params: { api_key: SportsDataApi.key(:nhl) } }
|
108
|
+
RestClient.should_receive(:get).with(url, params).and_return(json)
|
109
|
+
expect(subject.teams).to be_a SportsDataApi::Nhl::Teams
|
110
|
+
end
|
111
|
+
end
|
112
|
+
|
113
|
+
describe '.daily' do
|
114
|
+
let(:url) { "https://api.sportradar.us/nhl/trial/v5/en/games/2018/1/1/schedule.json" }
|
115
|
+
let!(:json) { RestClient.get("#{url}?api_key=#{api_key(:nhl)}") }
|
34
116
|
it 'creates a valid Sports Data LLC url' do
|
35
117
|
params = { params: { api_key: SportsDataApi.key(:nhl) } }
|
36
|
-
RestClient.should_receive(:get).with(
|
37
|
-
subject.
|
118
|
+
RestClient.should_receive(:get).with(url, params).and_return(json)
|
119
|
+
expect(subject.daily(2018, 1, 1)).to be_a SportsDataApi::Nhl::Games
|
38
120
|
end
|
39
121
|
end
|
40
122
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: sports_data_api
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.13.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ryan Lovelett
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2018-01-
|
12
|
+
date: 2018-01-10 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: nokogiri
|
@@ -236,11 +236,11 @@ files:
|
|
236
236
|
- lib/sports_data_api/golf/summary.rb
|
237
237
|
- lib/sports_data_api/golf/tournament.rb
|
238
238
|
- lib/sports_data_api/json_data.rb
|
239
|
+
- lib/sports_data_api/merged_stats.rb
|
239
240
|
- lib/sports_data_api/mlb.rb
|
240
241
|
- lib/sports_data_api/mlb/division.rb
|
241
242
|
- lib/sports_data_api/mlb/game.rb
|
242
243
|
- lib/sports_data_api/mlb/league.rb
|
243
|
-
- lib/sports_data_api/mlb/merged_stats.rb
|
244
244
|
- lib/sports_data_api/mlb/player.rb
|
245
245
|
- lib/sports_data_api/mlb/scoring.rb
|
246
246
|
- lib/sports_data_api/mlb/statistics.rb
|
@@ -411,12 +411,12 @@ files:
|
|
411
411
|
- spec/lib/sports_data_api/golf/tournament_spec.rb
|
412
412
|
- spec/lib/sports_data_api/golf_spec.rb
|
413
413
|
- spec/lib/sports_data_api/json_data_spec.rb
|
414
|
+
- spec/lib/sports_data_api/merged_stats_spec.rb
|
414
415
|
- spec/lib/sports_data_api/mlb/daily_schedule_spec.rb
|
415
416
|
- spec/lib/sports_data_api/mlb/daily_summary_spec.rb
|
416
417
|
- spec/lib/sports_data_api/mlb/division_spec.rb
|
417
418
|
- spec/lib/sports_data_api/mlb/game_spec.rb
|
418
419
|
- spec/lib/sports_data_api/mlb/league_spec.rb
|
419
|
-
- spec/lib/sports_data_api/mlb/merged_stats_spec.rb
|
420
420
|
- spec/lib/sports_data_api/mlb/player_spec.rb
|
421
421
|
- spec/lib/sports_data_api/mlb/scoring_spec.rb
|
422
422
|
- spec/lib/sports_data_api/mlb/season_schedule_spec.rb
|
@@ -594,12 +594,12 @@ test_files:
|
|
594
594
|
- spec/lib/sports_data_api/golf/tournament_spec.rb
|
595
595
|
- spec/lib/sports_data_api/golf_spec.rb
|
596
596
|
- spec/lib/sports_data_api/json_data_spec.rb
|
597
|
+
- spec/lib/sports_data_api/merged_stats_spec.rb
|
597
598
|
- spec/lib/sports_data_api/mlb/daily_schedule_spec.rb
|
598
599
|
- spec/lib/sports_data_api/mlb/daily_summary_spec.rb
|
599
600
|
- spec/lib/sports_data_api/mlb/division_spec.rb
|
600
601
|
- spec/lib/sports_data_api/mlb/game_spec.rb
|
601
602
|
- spec/lib/sports_data_api/mlb/league_spec.rb
|
602
|
-
- spec/lib/sports_data_api/mlb/merged_stats_spec.rb
|
603
603
|
- spec/lib/sports_data_api/mlb/player_spec.rb
|
604
604
|
- spec/lib/sports_data_api/mlb/scoring_spec.rb
|
605
605
|
- spec/lib/sports_data_api/mlb/season_schedule_spec.rb
|
@@ -1,17 +0,0 @@
|
|
1
|
-
module SportsDataApi
|
2
|
-
module Mlb
|
3
|
-
class MergedStats < JsonData
|
4
|
-
def initialize(json, override_var_name = nil)
|
5
|
-
super(json, override_var_name)
|
6
|
-
ivar = instance_variable_get("@#{instance_var_name}")
|
7
|
-
json.each do |key, val|
|
8
|
-
next unless val.is_a? Hash
|
9
|
-
json[key].each do |sub_key, data|
|
10
|
-
ivar["#{key}_#{sub_key}".to_sym] = data
|
11
|
-
end
|
12
|
-
ivar.delete key.to_sym
|
13
|
-
end
|
14
|
-
end
|
15
|
-
end
|
16
|
-
end
|
17
|
-
end
|