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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 93baca10e8c3ac61576fee6479e940a0e9e15d72
4
- data.tar.gz: 04ea834c373a3b7f629a2c5e282b4df1da786ac6
3
+ metadata.gz: 75c1ff4cd87c9c009f4290227d38ae85ff0c61ee
4
+ data.tar.gz: '01751971ca3c2d39ec0eabf25a64135a2bd2b4d2'
5
5
  SHA512:
6
- metadata.gz: 195a0ad4b5c1b9992ca41793cb68b6d20dd918d705a3dc77388f43556b21aefd863c74fb882f9fca529ce770652f196491a4a9d801effd0dd811b8b2357aa065
7
- data.tar.gz: d2d96ea004545e5b7d6740c7300a1646ab0b0a00b48c750fb3f6d0a280ca3723d336b7b09b30572d4a204fe5e78f1de38bf5df4a31499f77935d1e1312cf6359
6
+ metadata.gz: 15bf45155603148f5079b2bdf55e217f9420e0ced9bd3d0395d6266c6e06c333af62dfbdb690754ba828ab387d3a960a36cf395528b5f34467b575603c93bcef
7
+ data.tar.gz: 75eb191e9405b865af4cfad72454012b1c7dca8d7ebe9debcee01b6e66ecab98b0e29b7dd4fcf15c38b2a2d9ebbed9933a93da00fc46d2e6b516169bd09a3fd2
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- sportradar-api (0.13.11)
4
+ sportradar-api (0.13.12)
5
5
  activesupport
6
6
  httparty (>= 0.14.0)
7
7
 
@@ -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 = opts[: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'], opts[:game]) if data['statistics'] && @team
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
- def update_player_stats(player, stats, game = nil)
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
@@ -1,5 +1,5 @@
1
1
  module Sportradar
2
2
  module Api
3
- VERSION = "0.13.11"
3
+ VERSION = "0.13.12"
4
4
  end
5
5
  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.11
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-28 00:00:00.000000000 Z
11
+ date: 2017-11-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler