mirror of
https://github.com/jcwimer/wrestlingApp
synced 2026-03-25 01:14:43 +00:00
37 lines
808 B
Ruby
37 lines
808 B
Ruby
class Mat < ActiveRecord::Base
|
|
belongs_to :tournament
|
|
has_many :matches
|
|
|
|
validates :name, presence: true
|
|
|
|
before_destroy do
|
|
if tournament.matches.size > 0
|
|
tournament.resetMats
|
|
matsToAssign = tournament.mats.select{|m| m.id != self.id}
|
|
tournament.assignMats(matsToAssign)
|
|
end
|
|
end
|
|
|
|
after_create do
|
|
if tournament.matches.size > 0
|
|
tournament.resetMats
|
|
matsToAssign = tournament.mats
|
|
tournament.assignMats(matsToAssign)
|
|
end
|
|
end
|
|
|
|
def assignNextMatch
|
|
t_matches = tournament.matches.select{|m| m.mat_id == nil && m.finished != 1 && bout_number != nil}
|
|
if t_matches.size > 0
|
|
match = t_matches.sort_by{|m| m.bout_number}.first
|
|
match.mat_id = self.id
|
|
match.save
|
|
end
|
|
end
|
|
|
|
def unfinishedMatches
|
|
matches.select{|m| m.finished != 1}.sort_by{|m| m.bout_number}
|
|
end
|
|
|
|
end
|