Module: Monarchy::ActsAsRole::ClassMethods

Defined in:
lib/monarchy/acts_as_role.rb

Instance Method Summary collapse

Instance Method Details

#acts_as_roleObject



8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# File 'lib/monarchy/acts_as_role.rb', line 8

def acts_as_role
  self.table_name = 'monarchy_roles'

  has_many :members_roles, dependent: :destroy, class_name: 'Monarchy::MembersRole'
  has_many :members, through: :members_roles, class_name: "::#{Monarchy.member_class}"

  belongs_to :inherited_role, class_name: "::#{Monarchy.role_class}", optional: true

  after_create :default_inherited_role

  validates :name, presence: true
  validates :level, presence: true

  include Monarchy::ActsAsRole::InstanceMethods
end