sportradar-api 0.13.11 → 0.13.12
Sign up to get free protection for your applications and to get access to all the features.
- 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
|