module Monarchy::ActsAsRole::ClassMethods

Public Instance Methods

acts_as_role() click to toggle source
# 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