Может ли камень заслуг пересчитать репутацию и переоценить значки и звания?

Я хотел бы добавить систему очков, рангов и значков в моем приложении rails.

Драгоценный камень достоинств выглядит круто, но я хочу убедиться, как он работает, прежде чем его использовать.

Как вы определяете значки

# app/models/merit/badge_rules.rb
grant_on 'comments#vote', :badge => 'relevant-commenter', :to => :user do |comment|
  comment.votes.count == 5
end

и очки

# app/models/merit/point_rules.rb
score 10, :to => :post_creator, :on => 'comments#create' do |comment|
  comment.title.present?
end

предположить, что действие выполняется как зацепка, сразу после действия (comments#vote или же comments#createв этих случаях. Я еще не смотрел, как работает подсчет значков и очков, поэтому я не уверен.

Поскольку мое приложение будет развиваться со временем, я хотел бы иметь возможность изменить правила для точек и значков и пересмотреть их. Например: скажем, сначала я решил дать 10 баллов за активацию аккаунта. Я хотел бы иметь возможность изменить его на 20, а затем все активированные профили переоцениваются и получают увеличение +10 баллов. То же самое для значков.

Этот камень поддерживает это?

1 ответ

Решение

Можно пересчитать репутацию в приложении с достоинством. Заслуга хранит историю того, какие действия были инициированы, какой пункт / предоставление значка в Merit::Action модель, которая сопоставлена ​​с merit_actions Таблица.

Следующий сценарий должен работать (сначала сделайте резервную копию, так как я еще не делал это в производстве):

# 1. Reset all badges/points granting
Merit::BadgesSash.delete_all
Merit::Score::Point.delete_all

# 1.1 Optionally reset activity log (badges/points granted/removed until now)
Merit::ActivityLog.delete_all

# 2. Mark all `merit_actions` as unprocessed
Merit::Action.all.map{|a| a.update_attribute :processed, false }

# 3. Recompute reputation rules
Merit::Action.check_unprocessed
Merit::RankRules.new.check_rank_rules

Замечания о внутренних заслугах (вики-страница "Общие заслуги").

Другие вопросы по тегам