Module: Papeel::ActsAsPapeelUser::ClassMethods

Defined in:
lib/papeel/acts_as_papeel_user.rb

Instance Method Summary collapse

Instance Method Details

#acts_as_papeel_userObject



9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# File 'lib/papeel/acts_as_papeel_user.rb', line 9

def acts_as_papeel_user
  include Papeel::ActsAsPapeelUser::LocalInstanceMethods

  class_eval do
    has_many :roles, class_name: "Papeel::Role", dependent: :destroy, inverse_of: :user
  end

  Papeel.config.roles.each do |role|
    define_method "is_#{role}?" do |opts = {}|
      has_role? role, opts
    end
  end

  Papeel.config.roles.each do |role|
    class_eval do
      scope role, -> { joins(:roles).where(papeel_roles: { name: role }) }
    end
  end
end