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



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

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



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

def full_name
  player.dig('full_name')
end

#goal?Boolean

Returns:

  • (Boolean)


90
91
92
# File 'lib/sportradar/nhl/models/play_player_stat.rb', line 90

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

#jerseyObject



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

def jersey
  player.dig('jersey')
end

#penalty?Boolean

Returns:

  • (Boolean)


94
95
96
# File 'lib/sportradar/nhl/models/play_player_stat.rb', line 94

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_numberObject



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

def period_number
  period.number
end

#playerObject



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

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

#player_idObject



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

def player_id
  player.dig('id')
end

#saved?Boolean

Returns:

  • (Boolean)


98
99
100
# File 'lib/sportradar/nhl/models/play_player_stat.rb', line 98

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

#shootout?Boolean

Returns:

  • (Boolean)


102
103
104
# File 'lib/sportradar/nhl/models/play_player_stat.rb', line 102

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

#statObject



77
78
79
80
81
82
83
84
85
86
87
88
# File 'lib/sportradar/nhl/models/play_player_stat.rb', line 77

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

#strengthObject



106
107
108
# File 'lib/sportradar/nhl/models/play_player_stat.rb', line 106

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

#teamObject



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

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

#team_idObject



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

def team_id
  team.dig('id')
end

#team_marketObject



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

def team_market
  team.dig('market')
end

#team_nameObject



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

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_number,
    clock,
    description,
    team_name,
    full_name,
    stat,
  ].join(' ')
end

#typeObject



110
111
112
# File 'lib/sportradar/nhl/models/play_player_stat.rb', line 110

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

#win?Boolean

Returns:

  • (Boolean)


114
115
116
# File 'lib/sportradar/nhl/models/play_player_stat.rb', line 114

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

#zoneObject



118
119
120
# File 'lib/sportradar/nhl/models/play_player_stat.rb', line 118

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