New Beamer model scoped to tournaments for multi-projector display control.
Includes migration, validations, serializer, controller with by_name
fallback endpoint, routing, and full RSpec test coverage.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* updated ruby to 2.7.5
* updated rails to 7.0.3
* switched devise_token_auth to git for rails7 support
* ran `rails app:update`
* cleanup .gitlab-ci.yml
* remove unnecessary ci files
* remove unused docker rake task
* fix potential inconsistent image build by using commit images as base
instant_finalists_amount is the amount of teams that instantly are in
the finals after the group stage ends.
intermediate_round_participants_amount is the amount of teams that have
a chance to advance after group stage but must play a relegation game to
actually do so.
Both of these values need to match, so that
instant_finalists_amount + (intermediate_round_participants_amount / 2)
is a power of 2. Or to be more precise, the power of two that is saved
in playoff_teams_amount of the tournament.