-
Добавить игроку какой-либо показатель («Забил 5 голов», «Пробежал 10 км» и так далее)
-
Проверить, выполнил ли игрок конкретный показатель за предыдущие 5 матчей
-
Найти топ-5 игроков по конкретному показателю среди команды или всех игроков
Установить Bundler, если нет. Установить нужные гемы:
gem install bundler
bundle install
Прогнать миграцию:
bundle exec rake db:migrate
Заполнить БД тестовыми данными:
bundle exec rake db:seed
Запустить Rails Console:
bundle exec rails console
Чтобы присвоить игроку достижение:
Player.first.add_feature(1, 2)
В БД есть по умолчанию три показателя, поэтому вместо first
можно писать find(<id>)
. Параметры метода: первый — id
нужного юзера, второй — id
матча.
Чтобы проверить, выполнил ли игрок конкретный показатель за предыдущие 5 матчей
Player.find(3).reached_feature?(feature)
=> true
Игрока тоже можно искать любого по айдишнику, параметр метода — полностью какой-либо экземпляр класса PlayerFeature
.
Чтобы найти топ-n игроков по конкретному показателю среди всех игроков
Player.select_top(feature, limit)
или среди команды
Team.find(2).select_top(feature, limit)
Параметы метода — экземпляр класса PlayerFeature
и limit
(сколько игроков вывести).