class ChatRoom < ApplicationRecord has_many :chat_messages validates :gid, :name, presence: true, uniqueness: true attribute :permission_level, :integer, default: 1 enum permission_level: { banned: 0, player: 1, helper: 2, builder: 3, admin: 4, developer: 5, owner: 6 } def self.accessible_to(user) all.select { |x| x.accessible_to?(user) && x.gid != "achievement" } end def accessible_to?(user) user.has_permission_or_higher?(self.permission_level) end def short_name self.name[0..6] end end