Class: Sportradar::Nhl::Models::PlayPlayerStat

Inherits:
Object
  • Object
show all
Defined in:
lib/sportradar/nhl/models/play_player_stat.rb

Direct Known Subclasses

ScoringPlayer

Instance Method Summary collapse

Constructor Details

#initialize(event:, attributes:) ⇒ PlayPlayerStat

Returns a new instance of PlayPlayerStat.



5
6
7
8
# File 'lib/sportradar/nhl/models/play_player_stat.rb', line 5

def initialize(event:, attributes:)
  @event = event
  @attributes = attributes
end

Instance Method Details

#clockObject



53
54
55
# File 'lib/sportradar/nhl/models/play_player_stat.rb', line 53

def clock
  @event.clock
end

#descriptionObject



29
30
31
# File 'lib/sportradar/nhl/models/play_player_stat.rb', line 29

def description
  @event.description
end

#eventObject



21
22
23
# File 'lib/sportradar/nhl/models/play_player_stat.rb', line 21

def event
  @event
end

#event_idObject



25
26
27
# File 'lib/sportradar/nhl/models/play_player_stat.rb', line 25

def event_id
  @event.id
end

#full_nameObject



69
70
71
# File 'lib/sportradar/nhl/models/play_player_stat.rb', line 69

def full_name
  player.dig('full_name')
end

#goal?Boolean

Returns:

  • (Boolean)


104
105
106
# File 'lib/sportradar/nhl/models/play_player_stat.rb', line 104

def goal?
  @attributes.dig('goal') == true
end

#jerseyObject



65
66
67
# File 'lib/sportradar/nhl/models/play_player_stat.rb', line 65

def jersey
  player.dig('jersey')
end

#penalty?Boolean

Returns:

  • (Boolean)


108
109
110
# File 'lib/sportradar/nhl/models/play_player_stat.rb', line 108

def penalty?
  type == 'penalty'
end

#periodObject



33
34
35
# File 'lib/sportradar/nhl/models/play_player_stat.rb', line 33

def period
  @event.period
end

#period_abbreviationObject



37
38
39
# File 'lib/sportradar/nhl/models/play_player_stat.rb', line 37

def period_abbreviation
  period.abbreviation
end

#period_numberObject



41
42
43
# File 'lib/sportradar/nhl/models/play_player_stat.rb', line 41

def period_number
  period.number
end

#period_sequenceObject



45
46
47
# File 'lib/sportradar/nhl/models/play_player_stat.rb', line 45

def period_sequence
  period.sequence
end

#period_typeObject



49
50
51
# File 'lib/sportradar/nhl/models/play_player_stat.rb', line 49

def period_type
  period.type
end

#playerObject



57
58
59
# File 'lib/sportradar/nhl/models/play_player_stat.rb', line 57

def player
  @attributes.dig('player') || {}
end

#player_idObject



61
62
63
# File 'lib/sportradar/nhl/models/play_player_stat.rb', line 61

def player_id
  player.dig('id')
end

#saved?Boolean

Returns:

  • (Boolean)


112
113
114
# File 'lib/sportradar/nhl/models/play_player_stat.rb', line 112

def saved?
  @attributes.dig('saved') == true
end

#shootout?Boolean

Returns:

  • (Boolean)


116
117
118
# File 'lib/sportradar/nhl/models/play_player_stat.rb', line 116

def shootout?
  @attributes.dig('shootout') == true
end

#statObject



89
90
91
92
93
94
95
96
97
98
99
100
101
102
# File 'lib/sportradar/nhl/models/play_player_stat.rb', line 89

def stat
  {
    player_id: player_id,
    period_number: period_number,
    period_type: period_type,
    goal: goal?,
    penalty: penalty?,
    saved: saved?,
    shootout: shootout?,
    strength: strength,
    type: type,
    zone: zone,
  }.compact
end

#strengthObject



120
121
122
# File 'lib/sportradar/nhl/models/play_player_stat.rb', line 120

def strength
  @attributes.dig('strength')
end

#teamObject



73
74
75
# File 'lib/sportradar/nhl/models/play_player_stat.rb', line 73

def team
  @attributes.dig('team') || {}
end

#team_idObject



77
78
79
# File 'lib/sportradar/nhl/models/play_player_stat.rb', line 77

def team_id
  team.dig('id')
end

#team_marketObject



81
82
83
# File 'lib/sportradar/nhl/models/play_player_stat.rb', line 81

def team_market
  team.dig('market')
end

#team_nameObject



85
86
87
# File 'lib/sportradar/nhl/models/play_player_stat.rb', line 85

def team_name
  team.dig('name')
end

#to_sObject



10
11
12
13
14
15
16
17
18
19
# File 'lib/sportradar/nhl/models/play_player_stat.rb', line 10

def to_s
  [
    period_abbreviation,
    clock,
    description,
    team_name,
    full_name,
    stat,
  ].join(' ')
end

#typeObject



124
125
126
# File 'lib/sportradar/nhl/models/play_player_stat.rb', line 124

def type
  @attributes.dig('type')
end

#win?Boolean

Returns:

  • (Boolean)


128
129
130
# File 'lib/sportradar/nhl/models/play_player_stat.rb', line 128

def win?
  @attributes.dig('win') == true
end

#zoneObject



132
133
134
# File 'lib/sportradar/nhl/models/play_player_stat.rb', line 132

def zone
  @attributes.dig('zone')
end