Class: Sportradar::Nfl::Models::PlaySummary

Inherits:
Play
  • Object
show all
Defined in:
lib/sportradar/nfl/models/play_summary.rb

Instance Method Summary collapse

Methods inherited from Play

#clock, #details, #direction, #distance, #down, #drive_id, #formation, #id, #official?, #participants, #play_type, #quarter, #sequence, #side, #summary, #type, #updated_at, #yard_line, #yards_to_first_down

Constructor Details

#initialize(attributes:) ⇒ PlaySummary

Returns a new instance of PlaySummary.



5
6
7
# File 'lib/sportradar/nfl/models/play_summary.rb', line 5

def initialize(attributes:)
  @attributes = attributes
end

Instance Method Details

#advancementsObject



85
86
87
88
89
90
# File 'lib/sportradar/nfl/models/play_summary.rb', line 85

def advancements
  @advancements ||= (@attributes['advancements'] || []).
                      each_with_object([]) do |attributes, _advancements|
                        _advancements << PlayAdvancement.new(play: self, attributes: attributes)
                    end
end

#controllerObject



25
26
27
# File 'lib/sportradar/nfl/models/play_summary.rb', line 25

def controller
  @attributes['controller']
end

#end_situation_downObject



33
34
35
# File 'lib/sportradar/nfl/models/play_summary.rb', line 33

def end_situation_down
  @attributes.dig('end_situation', 'down')
end

#end_situation_sideObject



37
38
39
# File 'lib/sportradar/nfl/models/play_summary.rb', line 37

def end_situation_side
  @attributes.dig('end_situation', 'side')
end

#end_situation_teamObject



41
42
43
# File 'lib/sportradar/nfl/models/play_summary.rb', line 41

def end_situation_team
  @attributes.dig('end_situation', 'team')
end

#end_situation_yard_lineObject



45
46
47
# File 'lib/sportradar/nfl/models/play_summary.rb', line 45

def end_situation_yard_line
  @attributes.dig('end_situation', 'yard_line')
end

#end_situation_yards_to_first_downObject



49
50
51
# File 'lib/sportradar/nfl/models/play_summary.rb', line 49

def end_situation_yards_to_first_down
  @attributes.dig('end_situation', 'yfd')
end

#game_idObject



13
14
15
# File 'lib/sportradar/nfl/models/play_summary.rb', line 13

def game_id
  @attributes['game']
end

#has_advancements?Boolean

Returns:

  • (Boolean)


92
93
94
# File 'lib/sportradar/nfl/models/play_summary.rb', line 92

def has_advancements?
  advancements.count > 0
end

#has_player_stats?Boolean

Returns:

  • (Boolean)


103
104
105
# File 'lib/sportradar/nfl/models/play_summary.rb', line 103

def has_player_stats?
  player_stats.count > 0
end

#is_current_drive_team?Boolean

Returns:

  • (Boolean)


107
108
109
110
111
# File 'lib/sportradar/nfl/models/play_summary.rb', line 107

def is_current_drive_team?
  if controller && team
    controller == team
  end
end

#player_statsObject



96
97
98
99
100
101
# File 'lib/sportradar/nfl/models/play_summary.rb', line 96

def player_stats
  @player_stats ||= (@attributes['players'] || []).
                      each_with_object([]) do |attributes, _player_stats|
                        _player_stats << PlayPlayerStat.new(play: self, attributes: attributes)
                    end
end

#playersObject



29
30
31
# File 'lib/sportradar/nfl/models/play_summary.rb', line 29

def players
  @attributes['players']
end

#points_scoredObject



81
82
83
# File 'lib/sportradar/nfl/models/play_summary.rb', line 81

def points_scored
  @attributes.dig('score', 'points')
end

#quarter_numberObject



21
22
23
# File 'lib/sportradar/nfl/models/play_summary.rb', line 21

def quarter_number
  @attributes['quarter']
end

#score_typeObject



77
78
79
# File 'lib/sportradar/nfl/models/play_summary.rb', line 77

def score_type
  @attributes.dig('score', 'type')
end

#scoring_teamObject



73
74
75
# File 'lib/sportradar/nfl/models/play_summary.rb', line 73

def scoring_team
  @attributes.dig('score', 'team')
end

#start_situation_downObject



53
54
55
# File 'lib/sportradar/nfl/models/play_summary.rb', line 53

def start_situation_down
  @attributes.dig('start_situation', 'down')
end

#start_situation_sideObject



57
58
59
# File 'lib/sportradar/nfl/models/play_summary.rb', line 57

def start_situation_side
  @attributes.dig('start_situation', 'side')
end

#start_situation_teamObject



61
62
63
# File 'lib/sportradar/nfl/models/play_summary.rb', line 61

def start_situation_team
  @attributes.dig('start_situation', 'team')
end

#start_situation_yard_lineObject



65
66
67
# File 'lib/sportradar/nfl/models/play_summary.rb', line 65

def start_situation_yard_line
  @attributes.dig('start_situation', 'yard_line')
end

#start_situation_yards_to_first_downObject



69
70
71
# File 'lib/sportradar/nfl/models/play_summary.rb', line 69

def start_situation_yards_to_first_down
  @attributes.dig('start_situation', 'yfd')
end

#teamObject



17
18
19
# File 'lib/sportradar/nfl/models/play_summary.rb', line 17

def team
  controller
end

#to_sObject



9
10
11
# File 'lib/sportradar/nfl/models/play_summary.rb', line 9

def to_s
  summary
end