sportradar-api 0.11.68 → 0.11.69

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: 72129cf0a3719c15d720303c948d772b1c884732
4
- data.tar.gz: 8eb0f9d999d9654063df9085d64070082a807223
3
+ metadata.gz: 0c7084f28ea2be5219232796dc40f7f691d24cd2
4
+ data.tar.gz: ceca9d5cd1f2133f03d4664faf6cc7db764a98fd
5
5
  SHA512:
6
- metadata.gz: efd743ee010ac68d3dce610d4315c8bd78c9a3931eb3270499587cb459c365ddf70f56320595d2f5344b319243a69e8419df2f770bd1ad88351055f6abb93c31
7
- data.tar.gz: 65a4f129a70c4ef95d135f1c2e3c7b15e3c1e4f0e14723183959581c368a12e0cac7820b02033da2643d81403c99993c47f9003930e39ad3cc1f7daf994c7f04
6
+ metadata.gz: e4068cd6ccb040bc0df56015dacb0bc29f8be8f399bc664d345ee3a01095757b782dae5d9356580f4d3f1dc83e0d6406eed327e10eb24650d582cadbdf6e2516
7
+ data.tar.gz: 4fa08f20dc69fb0d988f7c8029b95d7d72b5f3e87e3ea1bef97cefe126628966ac54f20181223b827a8253942250c2cf6a23690daaef9ec49bb7fc056046ace9
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- sportradar-api (0.11.68)
4
+ sportradar-api (0.11.69)
5
5
  activesupport
6
6
  httparty (>= 0.14.0)
7
7
 
@@ -19,12 +19,12 @@ module Sportradar
19
19
  @preferred_name = data["preferred_name"]
20
20
  @jersey_number = data["jersey_number"]
21
21
 
22
- update(data)
22
+ # update(data)
23
23
  end
24
24
 
25
25
  def update(data, **opts)
26
- lineup = event.half_inning.inning.game.lineup
27
- lineup.update_from_lineup_event(data)
26
+ # lineup = event.half_inning.inning.game.lineup
27
+ # lineup.update_from_lineup_event(data)
28
28
  end
29
29
 
30
30
  def data_key
@@ -131,7 +131,7 @@ module Sportradar
131
131
  update_bases(data)
132
132
  parse_pitchers(data) if data['home'] && data['away']
133
133
 
134
- lineup.update(data, source: source)
134
+ lineup.update(data, source: source) unless source == :pbp
135
135
  if data['scoring']
136
136
  parse_score(data['scoring'])
137
137
  elsif data.dig('home', 'hits')
@@ -429,6 +429,8 @@ module Sportradar
429
429
  innings = data['innings'].each { |inning| inning['id'] = "#{data['id']}-#{inning['number']}" }
430
430
  create_data(@innings_hash, innings, klass: Inning, api: api, game: self) if data['innings']
431
431
  extract_count(data)
432
+ lineup.update(data, source: :pbp)
433
+ # update lineups
432
434
  check_newness(:pitches, pitches.last&.id)
433
435
  check_newness(:events, events.last&.description)
434
436
  check_newness(:score, @score)
@@ -10,6 +10,14 @@ module Sportradar
10
10
  def update(data, source: nil)
11
11
  case source
12
12
  when :pbp
13
+ @home = initial_lineup.dup
14
+ @away = initial_lineup.dup
15
+ lineups = game.events.select {|ev| ev.lineup }.map(&:lineup)
16
+ lineups.each do |line|
17
+ player_data = line.response
18
+ player_data['id'] = player_data.delete('player_id')
19
+ update_from_lineup_event(player_data)
20
+ end
13
21
  when :summary
14
22
  @roster = (data.dig('home', 'roster') || []) + (data.dig('away', 'roster') || [])
15
23
  return unless data.dig('home', 'lineup') && data.dig('away', 'lineup')
@@ -21,10 +29,10 @@ module Sportradar
21
29
  end
22
30
 
23
31
  def update_from_lineup_event(data)
24
- if data.dig('lineup', 'team_id') == game.home_id
25
- update_home(find_player(data.dig('lineup', 'player_id')), data.dig('lineup', 'order'))
26
- elsif data.dig('lineup', 'team_id') == game.away_id
27
- update_away(find_player(data.dig('lineup', 'player_id')), data.dig('lineup', 'order'))
32
+ if data.dig('team_id') == game.home_id
33
+ update_home(data, data.dig('order'))
34
+ elsif data.dig('team_id') == game.away_id
35
+ update_away(data, data.dig('order'))
28
36
  end
29
37
  end
30
38
 
@@ -69,27 +77,27 @@ module Sportradar
69
77
  def next_batters(team, number_of_upcoming_batters = 3)
70
78
  if team == 'home'
71
79
  last_at_bat = game.at_bats.select{|at_bat| at_bat.event.half_inning.half == 'B'}.last
72
- if last_at_bat # first inning
73
- last_position = @home_team_lineup.detect{|htl| htl['id'] == last_at_bat.hitter_id}&.dig('order')
80
+ if last_at_bat
81
+ last_position = @home.detect{|htl| htl['id'] == last_at_bat.hitter_id}&.dig('order')
74
82
  upcoming = home.rotate(last_position || 0)
75
- else
83
+ else # first inning
76
84
  upcoming = home
77
85
  end
78
86
  elsif team == 'away'
79
87
  last_at_bat = game.at_bats.select{|at_bat| at_bat.event.half_inning.half == 'T'}.last
80
- if last_at_bat # first inning
81
- last_position = @away_team_lineup.detect{|atl| atl['id'] == last_at_bat.hitter_id}&.dig('order')
88
+ if last_at_bat
89
+ last_position = @away.detect{|atl| atl['id'] == last_at_bat.hitter_id}&.dig('order')
82
90
  upcoming = away.rotate(last_position || 0)
83
- else
91
+ else # first inning
84
92
  upcoming = away
85
93
  end
86
94
  end
87
95
  upcoming[0..(number_of_upcoming_batters - 1)]
88
- rescue => e
89
- i ||= 0
90
- game.get_summary
91
- i += 1
92
- retry unless i > 2
96
+ # rescue => e
97
+ # i ||= 0
98
+ # game.get_summary
99
+ # i += 1
100
+ # retry unless i > 2
93
101
  end
94
102
 
95
103
  private
@@ -1,5 +1,5 @@
1
1
  module Sportradar
2
2
  module Api
3
- VERSION = "0.11.68"
3
+ VERSION = "0.11.69"
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.11.68
4
+ version: 0.11.69
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-09-22 00:00:00.000000000 Z
11
+ date: 2017-09-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler