sportradar-api 0.11.23 → 0.11.24

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: fae9514880b52210a6651a9a7eb858ea177270a7
4
- data.tar.gz: af0319446a7d5b3db42c66f145d7aba0694d911f
3
+ metadata.gz: 2a398d741ca5be02da26c58af0be8b4d0e9d0188
4
+ data.tar.gz: 141df696774e1231d1b211f3e5e2ecb29d44adb4
5
5
  SHA512:
6
- metadata.gz: 0614b2482a787aba1ec51afe52c27aee963018392b5d557b5d1e7c47e5e15f1784a1883ef317e6c6be13c7b6610cbb50d91af85932a4359b098c6d63f7cb8848
7
- data.tar.gz: 84d3043707e800859af25aa3db509ed6bbb015bded9fa64fbf8e0b1bd7686069bb9bdd753261f6bbb89c9009d11ecf580b428af5bbd03b24cc5c78e4cb5a8788
6
+ metadata.gz: 4659aed911f1b80b8f4d8834c44701d83e6674a3075570db0d252bbf3bd0f3075dd7984df878e8a6f36efa7866bcc825d8897b3f898fbf89c445577e1ae63ace
7
+ data.tar.gz: 25f52b4789c922e1aea14f0909bfdda44da16b2c2486c3d7c7f75d716d3aa45e1657cfbe3cf07c9a0cc8cda59b944539b87ccafe3d3ba04f7694caf3a57a4577
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- sportradar-api (0.11.23)
4
+ sportradar-api (0.11.24)
5
5
  activesupport
6
6
  httparty (>= 0.14.0)
7
7
 
@@ -59,7 +59,7 @@ module Sportradar
59
59
  end
60
60
 
61
61
  def over?
62
- @end_reason != 'UNKNOWN' && !@end_reason.nil?
62
+ @end_reason != 'UNKNOWN' && !@end_reason.nil? && !plays.last.parsed_ending # FIXME - maybe fix this. sim games have inconsistent data
63
63
  end
64
64
 
65
65
  def end_reason_possibilities
@@ -167,6 +167,18 @@ module Sportradar
167
167
  @teams_hash[leading_team_id] || (@away_id == leading_team_id && away) || (@home_id == leading_team_id && home)
168
168
  end
169
169
 
170
+ def current_possession_team_id
171
+ drives.last.team_id
172
+ end
173
+
174
+ def next_possession_team_id
175
+ (@teams_hash.keys - [current_possession_team_id]).first || (@away_id == current_possession_team_id && @home_id) || (@home_id == current_possession_team_id && @away_id)
176
+ end
177
+
178
+ def team_ids
179
+ @teams_hash.keys
180
+ end
181
+
170
182
  def team(team_id)
171
183
  @teams_hash[team_id]
172
184
  end
@@ -4,6 +4,12 @@ module Sportradar
4
4
  class Ncaafb
5
5
  class Drive < Sportradar::Api::Football::Drive
6
6
 
7
+ alias :team_id :team
8
+
9
+ def end_reason
10
+ plays.last.parsed_ending || 'UNKNOWN'
11
+ end
12
+
7
13
  def over?
8
14
  plays.last&.parsed_ending || (overtime? && ['End of Quarter', 'End of Game'].include?(plays.last&.description))
9
15
  end
@@ -5,10 +5,6 @@ module Sportradar
5
5
  class Play < Sportradar::Api::Football::Play
6
6
 
7
7
 
8
- def parsed_ending
9
- @parsed_ending ||= search_for_drive_end
10
- end
11
-
12
8
  def counted_play?
13
9
  ['rush', 'pass'].include?(self.play_type) && !self.description.include?('No Play')
14
10
  end
@@ -34,28 +30,28 @@ module Sportradar
34
30
 
35
31
  private
36
32
 
37
- def search_for_drive_end
38
- case @play_type
39
- when 'kick'
40
- nil
41
- when 'rush'
42
- # check for fumble
43
- parse_description_for_drive_end
44
- when 'pass'
45
- # check for fumble/interception
46
- parse_description_for_drive_end
47
- when 'punt'
48
- :punt
49
- when 'penalty'
50
- nil
51
- when 'fieldgoal'
52
- :fg
53
- when 'extrapoint'
54
- :pat
55
- else
56
- parse_description_for_drive_end
57
- end
58
- end
33
+ # def search_for_drive_end
34
+ # case @play_type
35
+ # when 'kick'
36
+ # nil
37
+ # when 'rush'
38
+ # # check for fumble
39
+ # parse_description_for_drive_end
40
+ # when 'pass'
41
+ # # check for fumble/interception
42
+ # parse_description_for_drive_end
43
+ # when 'punt'
44
+ # :punt
45
+ # when 'penalty'
46
+ # nil
47
+ # when 'fieldgoal'
48
+ # :fg
49
+ # when 'extrapoint'
50
+ # :pat
51
+ # else
52
+ # parse_description_for_drive_end
53
+ # end
54
+ # end
59
55
 
60
56
  # ["kick", "rush", "pass", "punt", "penalty", nil, "fieldgoal", "extrapoint"]
61
57
  def parse_description_for_drive_end
@@ -12,6 +12,10 @@ module Sportradar
12
12
  create_data(@events_hash, things['event'], klass: Event, api: api, drive: self) if things['event']
13
13
  end
14
14
 
15
+ def team_id
16
+ plays.last&.start_situation&.team_id
17
+ end
18
+
15
19
  end
16
20
  end
17
21
  end
@@ -79,6 +79,33 @@ module Sportradar
79
79
  false
80
80
  end
81
81
 
82
+ def parsed_ending
83
+ @parsed_ending ||= search_for_drive_end
84
+ end
85
+
86
+ def search_for_drive_end
87
+ case @play_type
88
+ when 'kick'
89
+ nil
90
+ when 'rush'
91
+ # check for fumble
92
+ parse_description_for_drive_end
93
+ when 'pass'
94
+ # check for fumble/interception
95
+ parse_description_for_drive_end
96
+ when 'punt'
97
+ :punt
98
+ when 'penalty'
99
+ nil
100
+ when 'fieldgoal'
101
+ :fg
102
+ when 'extrapoint'
103
+ :pat
104
+ else
105
+ parse_description_for_drive_end
106
+ end
107
+ end
108
+
82
109
  def parse_player
83
110
  # 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.
84
111
  play_stats = @statistics.penalty || @statistics.rush || @statistics.return || @statistics.receive
@@ -22,8 +22,12 @@ module Sportradar
22
22
  [location&.alias, location&.yardline].compact.join(' ')
23
23
  end
24
24
 
25
+ def distance
26
+ @yfd
27
+ end
28
+
25
29
  def down_distance
26
- [@down, @distance].compact.join(' & ')
30
+ [@down, distance].compact.join(' & ')
27
31
  end
28
32
 
29
33
  end
@@ -1,5 +1,5 @@
1
1
  module Sportradar
2
2
  module Api
3
- VERSION = "0.11.23"
3
+ VERSION = "0.11.24"
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.23
4
+ version: 0.11.24
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-08-23 00:00:00.000000000 Z
11
+ date: 2017-08-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler