sportradar-api 0.13.11 → 0.13.12
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/Gemfile.lock +1 -1
- data/lib/sportradar/api/soccer/match.rb +14 -0
- data/lib/sportradar/api/soccer/player.rb +5 -2
- data/lib/sportradar/api/soccer/team.rb +12 -6
- data/lib/sportradar/api/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 75c1ff4cd87c9c009f4290227d38ae85ff0c61ee
|
|
4
|
+
data.tar.gz: '01751971ca3c2d39ec0eabf25a64135a2bd2b4d2'
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 15bf45155603148f5079b2bdf55e217f9420e0ced9bd3d0395d6266c6e06c333af62dfbdb690754ba828ab387d3a960a36cf395528b5f34467b575603c93bcef
|
|
7
|
+
data.tar.gz: 75eb191e9405b865af4cfad72454012b1c7dca8d7ebe9debcee01b6e66ecab98b0e29b7dd4fcf15c38b2a2d9ebbed9933a93da00fc46d2e6b516169bd09a3fd2
|
data/Gemfile.lock
CHANGED
|
@@ -26,6 +26,9 @@ module Sportradar
|
|
|
26
26
|
@home = Team.new({}, api: api, match: self)
|
|
27
27
|
@away = Team.new({}, api: api, match: self)
|
|
28
28
|
@teams_hash = { away: @away, home: @home }
|
|
29
|
+
@team_ids = { away: @away.id, home: @home.id }
|
|
30
|
+
@team_stats = {}
|
|
31
|
+
@player_stats = {}
|
|
29
32
|
|
|
30
33
|
update(data, **opts)
|
|
31
34
|
end
|
|
@@ -183,9 +186,20 @@ module Sportradar
|
|
|
183
186
|
@away.update(away_hash, match: self)
|
|
184
187
|
@teams_hash[@home.id] = @home
|
|
185
188
|
@teams_hash[@away.id] = @away
|
|
189
|
+
@team_ids = { away: @away.id, home: @home.id }
|
|
186
190
|
end
|
|
187
191
|
end
|
|
188
192
|
|
|
193
|
+
def update_stats(team, stats)
|
|
194
|
+
@team_stats.merge!(team.id => stats.merge(team: team))
|
|
195
|
+
end
|
|
196
|
+
def update_player_stats(player, stats)
|
|
197
|
+
@player_stats.merge!(player.id => stats.merge!(player: player))
|
|
198
|
+
end
|
|
199
|
+
def stats(team_id)
|
|
200
|
+
team_id.is_a?(Symbol) ? @team_stats[@team_ids[team_id]] : @team_stats[team_id]
|
|
201
|
+
end
|
|
202
|
+
|
|
189
203
|
def get_tournament_id(data, **opts)
|
|
190
204
|
@tournament_id ||= if opts[:tournament]
|
|
191
205
|
opts[:tournament].id
|
|
@@ -10,7 +10,7 @@ module Sportradar
|
|
|
10
10
|
@response = data
|
|
11
11
|
@id = data['id'] if data['id']
|
|
12
12
|
@api = opts[:api]
|
|
13
|
-
@team
|
|
13
|
+
@team = opts[:team]
|
|
14
14
|
|
|
15
15
|
@league_group = league_group || data['league_group'] || @api&.league_group
|
|
16
16
|
|
|
@@ -39,7 +39,10 @@ module Sportradar
|
|
|
39
39
|
@stats = data['statistics'] if data['statistics']
|
|
40
40
|
@date_of_birth = Date.parse(data['date_of_birth']) if data['date_of_birth']
|
|
41
41
|
|
|
42
|
-
@team.update_player_stats(self, data['statistics']
|
|
42
|
+
@team.update_player_stats(self, data['statistics']) if data['statistics'] && @team
|
|
43
|
+
if opts[:match]
|
|
44
|
+
@team.update_player_stats(self, data, opts[:match])
|
|
45
|
+
end
|
|
43
46
|
|
|
44
47
|
end
|
|
45
48
|
|
|
@@ -39,12 +39,16 @@ module Sportradar
|
|
|
39
39
|
@qualifier = data['qualifier'] if data['qualifier']
|
|
40
40
|
@venue = Venue.new(data['venue']) if data['venue']
|
|
41
41
|
|
|
42
|
-
create_data(@players_hash, data['players'], klass: Player, api: api, team: self) if data['players']
|
|
43
|
-
create_data(@players_hash, data['player_statistics'], klass: Player, api: api, team: self) if data['player_statistics']
|
|
42
|
+
create_data(@players_hash, data['players'], klass: Player, api: api, team: self, **opts) if data['players']
|
|
43
|
+
create_data(@players_hash, data['player_statistics'], klass: Player, api: api, team: self, **opts) if data['player_statistics']
|
|
44
44
|
|
|
45
|
-
# TODO team statistics
|
|
46
45
|
@team_stats = data['team_statistics'] if data['team_statistics']
|
|
47
46
|
|
|
47
|
+
# parse_players(data.dig('players'), opts[:match]) if data.dig('players')
|
|
48
|
+
if opts[:match]
|
|
49
|
+
opts[:match].update_stats(self, data['statistics']) if data['statistics']
|
|
50
|
+
end
|
|
51
|
+
|
|
48
52
|
create_data(@matches_hash, Soccer.parse_results(data['results']), klass: Match, api: api, team: self) if data['results']
|
|
49
53
|
create_data(@matches_hash, data['schedule'], klass: Match, api: api, team: self) if data['schedule']
|
|
50
54
|
|
|
@@ -70,6 +74,10 @@ module Sportradar
|
|
|
70
74
|
end
|
|
71
75
|
end
|
|
72
76
|
|
|
77
|
+
def update_player_stats(player, stats, game = nil)
|
|
78
|
+
game ? game.update_player_stats(player, stats) : @player_stats.merge(player.id => stats.merge(player: player))
|
|
79
|
+
end
|
|
80
|
+
|
|
73
81
|
def players
|
|
74
82
|
@players_hash.values
|
|
75
83
|
end
|
|
@@ -101,9 +109,7 @@ module Sportradar
|
|
|
101
109
|
url, headers, options, timeout = api.get_request_info(path_roster)
|
|
102
110
|
{url: url, headers: headers, params: options, timeout: timeout, callback: method(:ingest_roster)}
|
|
103
111
|
end
|
|
104
|
-
|
|
105
|
-
game ? game.update_player_stats(player, stats) : @player_stats.merge(player.id => stats.merge(player: player))
|
|
106
|
-
end
|
|
112
|
+
|
|
107
113
|
def path_results
|
|
108
114
|
"#{ path_base }/results"
|
|
109
115
|
end
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: sportradar-api
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.13.
|
|
4
|
+
version: 0.13.12
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Ben Eggett
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: exe
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2017-11-
|
|
11
|
+
date: 2017-11-30 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: bundler
|