sportradar-api 0.11.19 → 0.11.20

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: 78bcf0a380481522b8dc4502878ef6b059c08adb
4
- data.tar.gz: d8cf66a906e2344b528e092d1cba4e911dd62f57
3
+ metadata.gz: 34039ffb330d2d2a183c38371c0eaa1775b58740
4
+ data.tar.gz: 748df417602e1d813f5cc1f2d943e4091ae65fcb
5
5
  SHA512:
6
- metadata.gz: f7edf2c55ca67514bb21621474102ca7589e4e8b169c21c14db336e9d0afcac42189826ac5777259627fba8428fa20621c384242b68efa9826e5bece5ae9290a
7
- data.tar.gz: c043ded775fa004395c8354fbe15ded4eabba03e477380c095c9532bda8bbbf8fab7a8d3b9b7d0c559a5ce1ad74302aedc03c731504bfed969fbbf9bf50789e4
6
+ metadata.gz: 39f0da60a89d80b56fde095ce1a95d4f17ff4ba82fc5bf74091a74f071fb1be03e79e9a564b44643d9cbba1e4d557336fbed2d8c256435662d180dd1a8669332
7
+ data.tar.gz: 939cf4cba13e644a547799d8998831c8b58d6fb42328426ea50ea1e9970fe1ddc58c6ea7bf93c89f08d921b5b1d481522fd49800f2a1f39f46f66e0f2cf19645
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- sportradar-api (0.11.19)
4
+ sportradar-api (0.11.20)
5
5
  activesupport
6
6
  httparty (>= 0.14.0)
7
7
 
@@ -26,6 +26,7 @@ module Sportradar
26
26
  @type = data['type']
27
27
  @team = data['team']
28
28
  @clock = data['clock']
29
+ @overtime = !!opts[:quarter]&.overtime? || @overtime
29
30
 
30
31
  @sequence = data["sequence"]
31
32
  @start_reason = data["start_reason"]
@@ -45,6 +46,10 @@ module Sportradar
45
46
  self
46
47
  end
47
48
 
49
+ def overtime?
50
+ @overtime
51
+ end
52
+
48
53
  def plays
49
54
  @plays_hash.values
50
55
  end
@@ -5,12 +5,12 @@ module Sportradar
5
5
  class Drive < Sportradar::Api::Football::Drive
6
6
 
7
7
  def over?
8
- plays.last&.parsed_ending
8
+ plays.last&.parsed_ending || (overtime? && ['End of Quarter', 'End of Game'].include?(plays.last&.description))
9
9
  end
10
10
 
11
11
  def handle_plays_and_events(data, **opts)
12
- create_data(@plays_hash, data['actions'], klass: Play, api: api, game: self) if data['actions']
13
- create_data(@events_hash, data['events'], klass: Event, api: api, game: self) if data['events']
12
+ create_data(@plays_hash, data['actions'], klass: Play, api: api, drive: self) if data['actions']
13
+ create_data(@events_hash, data['events'], klass: Event, api: api, drive: self) if data['events']
14
14
  end
15
15
 
16
16
  def play_count
@@ -30,3 +30,7 @@ module Sportradar
30
30
  end
31
31
  end
32
32
  end
33
+ # e = Event.find 17632;
34
+ # sc = e.sportconnector_game;
35
+ # dr = sc.pbp[-3]
36
+ # pl = dr.plays.last
@@ -7,9 +7,9 @@ module Sportradar
7
7
  def handle_plays_and_events(data, **opts)
8
8
  things = (Array(data['events']) + Array(data['actions'])).group_by { |hash| hash['type'] }
9
9
 
10
- create_data(@plays_hash, things['play'], klass: Play, api: api, game: self) if things['play']
11
- create_data(@events_hash, things['event'], klass: Event, api: api, game: self) if things['setup']
12
- create_data(@events_hash, things['event'], klass: Event, api: api, game: self) if things['event']
10
+ create_data(@plays_hash, things['play'], klass: Play, api: api, drive: self) if things['play']
11
+ create_data(@events_hash, things['event'], klass: Event, api: api, drive: self) if things['setup']
12
+ create_data(@events_hash, things['event'], klass: Event, api: api, drive: self) if things['event']
13
13
  end
14
14
 
15
15
  end
@@ -4,6 +4,13 @@ module Sportradar
4
4
  class Nfl
5
5
  class Play < Sportradar::Api::Football::Play
6
6
 
7
+ def down
8
+ start_situation.down
9
+ end
10
+
11
+ def yfd
12
+ start_situation.yfd
13
+ end
7
14
  # def parse_player
8
15
  # # TODO: Currently there is an issue where we are only mapping one player_id to a play, but there are plays with multiple players involved.
9
16
  # play_stats = @statistics.penalty || @statistics.rush || @statistics.return || @statistics.receive
@@ -2,7 +2,7 @@ module Sportradar
2
2
  module Api
3
3
  module Football
4
4
  class Play < Data
5
- attr_accessor :response, :id, :sequence, :reference, :clock, :home_points, :away_points, :type, :play_clock, :wall_clock, :start_situation, :end_situation, :description, :alt_description, :statistics, :score, :scoring_play, :team_id, :player_id, :play_type, :players
5
+ attr_accessor :response, :id, :sequence, :reference, :clock, :home_points, :away_points, :type, :play_clock, :wall_clock, :start_situation, :end_situation, :description, :alt_description, :statistics, :score, :scoring_play, :team_id, :player_id, :play_type, :players, :down, :yfd
6
6
 
7
7
  def initialize(data, **opts)
8
8
  @response = data
@@ -48,7 +48,7 @@ module Sportradar
48
48
  @details = data["details"].gsub('.json', '') if data["details"]
49
49
 
50
50
  @statistics = Sportradar::Api::Football::PlayStatistics.new(data['statistics']) if data['statistics']
51
- # parse_player if @statistics
51
+ parse_player if @statistics
52
52
  @wall_clock = data["wall_clock"]
53
53
 
54
54
  self
@@ -63,7 +63,7 @@ module Sportradar
63
63
  end
64
64
 
65
65
  def down_distance
66
- start_situation&.down_distance
66
+ [down, yfd].compact.join(' & ')
67
67
  end
68
68
 
69
69
  def end_of_regulation?
@@ -23,11 +23,15 @@ module Sportradar
23
23
  @home_info = data["home"]
24
24
  @away_info = data["away"]
25
25
 
26
- create_data(@drives_hash, data['pbp'], klass: drive_class, api: api, game: self) if data['pbp']
26
+ create_data(@drives_hash, data['pbp'], klass: drive_class, api: api, quarter: self) if data['pbp']
27
27
 
28
28
  self
29
29
  end
30
30
 
31
+ def overtime?
32
+ @number > 4
33
+ end
34
+
31
35
  def drives
32
36
  @drives_hash.values
33
37
  end
@@ -1,5 +1,5 @@
1
1
  module Sportradar
2
2
  module Api
3
- VERSION = "0.11.19"
3
+ VERSION = "0.11.20"
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sportradar-api
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.11.19
4
+ version: 0.11.20
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ben Eggett