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 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