Sha256: dcd32ca2fe68f57739b116ccdc8716ee213bb7c5eeeee8ebf77a804ab3f4953c

Contents?: true

Size: 496 Bytes

Versions: 9

Compression:

Stored size: 496 Bytes

Contents

module Thredded
  class Role < ActiveRecord::Base
    ROLES = ['superadmin', 'admin', 'moderator', 'member']

    belongs_to :messageboard
    belongs_to :user, class_name: Thredded.user_class

    validates_presence_of :level
    validates_inclusion_of :level, in: ROLES
    validates_presence_of :messageboard_id
    validates_presence_of :user_id

    scope :for, lambda { |messageboard| where(messageboard_id: messageboard.id) }
    scope :as,  lambda { |role| where(level: role) }
  end
end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
thredded-0.0.12 app/models/thredded/role.rb
thredded-0.0.10 app/models/thredded/role.rb
thredded-0.0.9 app/models/thredded/role.rb
thredded-0.0.8 app/models/thredded/role.rb
thredded-0.0.7 app/models/thredded/role.rb
thredded-0.0.6 app/models/thredded/role.rb
thredded-0.0.5 app/models/thredded/role.rb
thredded-0.0.4 app/models/thredded/role.rb
thredded-0.0.3 app/models/thredded/role.rb