-
Notifications
You must be signed in to change notification settings - Fork 0
/
player.rb
41 lines (33 loc) · 897 Bytes
/
player.rb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
module Hockey
class Player
include Mongoid::Document
include Sides
include Stats
before_save :set_games_played
field :played, :type => Boolean, :default => true
field :first_name
field :last_name
field :num
def name
"#{first_name} #{last_name}"
end
belongs_to :player, class_name: "::Player"
embedded_in :statsheet, :class_name => "Hockey::Statsheet"
scope :with_num, ->(n) { where(num: n) }
def from_player(player, side)
self.side = side
self.player_id = player.id
self.first_name = player.first_name
self.last_name = player.last_name
self.num = player.jersey_number
end
def set_games_played
self.gp = self.played == true ? 1 : 0
end
def to_result
result = Hockey::Player::Result.new
result.load(statsheet.game, self)
result
end
end
end