这是 Twitter 公司基于 Rails ActiveRecord 的声望系统
安装方法:
gem install reputation_system && rails generator reputation_system && rake db:migrate
使用方法:
class User < ActiveRecord::Base has_many :answers has_many :questions has_reputation :karma, :source => [ { :reputation => :questioning_skill, :weight => 0.8 }, { :reputation => :answering_skill }], aggregated_by => :sum has_reputation :questioning_skill, :source => { :reputation => :votes, :of => :questions }, :aggregated_by => :sum has_reputation :answering_skill, :source => { :reputation => :avg_rating, :of => :answers }, :aggregated_by => :sum end class Answer < ActiveRecord::Base belongs_to :user, :as => :author has_reputation :avg_rating, :source => :user, :aggregated_by => :average, :source_of => [{ :reputation => :answering_skill, :of => :author }] end class Question < ActiveRecord::Base belongs_to :user has_reputation :votes, :source => :user, :aggregated_by => :sum end @answer.add_evaluation(:avg_rating, 3, @user) @question.add_evaluation(:votes, 1, @user)
更多介绍请看软件首页