osem-fcy/app/models/role.rb

17 lines
376 B
Ruby

class Role < ActiveRecord::Base
belongs_to :resource, polymorphic: true
has_and_belongs_to_many :users, join_table: :users_roles
before_destroy :cancel
scopify
validates :name, presence: true
validates :name, uniqueness: { scope: :resource }
private
# Needed to ensure that removing all user from role doesn't remove role.
def cancel
false
end
end