Sha256: 2e11df24dd0ee594352855f58ec914bb80d70b4beb3dbedb99ad1c32f6537b09
Contents?: true
Size: 855 Bytes
Versions: 3
Compression:
Stored size: 855 Bytes
Contents
module Merit # Sash is a container for reputation data for meritable models. It's an # indirection between meritable models and badges and scores (one to one # relationship). # # It's existence make join models like badges_users and scores_users # unnecessary. It should be transparent at the application. class Sash include Mongoid::Document include Mongoid::Timestamps include Base::Sash has_many :badges_sashes, class_name: 'Merit::BadgesSash', dependent: :destroy has_many :scores, class_name: 'Merit::Score', dependent: :destroy after_create :create_scores def add_badge(badge_id) bs = Merit::BadgesSash.new(badge_id: badge_id) badges_sashes.push(bs) end def rm_badge(badge_id) bs = badges_sashes.where(badge_id: badge_id).first badges_sashes.delete(bs) end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
merit-2.0.0 | lib/merit/models/mongoid/merit/sash.rb |
merit-1.9.0 | lib/merit/models/mongoid/merit/sash.rb |
merit-1.8.0 | lib/merit/models/mongoid/merit/sash.rb |