Files

27 lines
659 B
Ruby

module Scoring
class Engine
ENGINES = {
"volley" => Engines::VolleyEngine,
"racket" => Engines::RacketEngine,
"generic" => Engines::GenericEngine,
"basket" => Engines::BasketEngine,
"timed" => Engines::TimedEngine,
"timer" => Engines::TimerEngine
}.freeze
def self.for_match(match)
board = match.effective_board_type
klass = ENGINES.fetch(board) { Engines::GenericEngine }
klass.new(match: match)
end
def self.for_session(session)
for_match(session.match)
end
def self.ensure_score_for(session)
for_match(session.match).ensure_score(session)
end
end
end