Active Record Reputation System
Ruby 其他开发相关
共0Star
详细介绍
这是 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)
更多介绍请看软件首页
-
4709 Star
-
0 Star
-
0 Star