2013-01-07 09:04:09 +01:00
|
|
|
class Role < ActiveRecord::Base
|
2014-08-12 11:51:59 +03:00
|
|
|
belongs_to :resource, polymorphic: true
|
2016-03-04 19:33:06 +02:00
|
|
|
has_and_belongs_to_many :users, join_table: :users_roles
|
2016-03-11 20:44:09 +05:30
|
|
|
before_destroy :cancel
|
2014-08-12 11:51:59 +03:00
|
|
|
scopify
|
|
|
|
|
|
2015-01-12 23:13:10 +02:00
|
|
|
validates :name, presence: true
|
|
|
|
|
|
|
|
|
|
validates :name, uniqueness: { scope: :resource }
|
2016-03-11 20:44:09 +05:30
|
|
|
|
|
|
|
|
private
|
|
|
|
|
|
|
|
|
|
# Needed to ensure that removing all user from role doesn't remove role.
|
|
|
|
|
def cancel
|
|
|
|
|
false
|
|
|
|
|
end
|
2014-06-30 17:07:53 +02:00
|
|
|
end
|