Class: Ability

Inherits:
Object
  • Object
show all
Includes:
CanCan::Ability
Defined in:
lib/generators/active_admin_access_control/templates/model/ability.rb

Instance Method Summary collapse

Constructor Details

#initialize(user) ⇒ Ability

Returns a new instance of Ability.



6
7
8
9
10
11
12
13
14
15
# File 'lib/generators/active_admin_access_control/templates/model/ability.rb', line 6

def initialize(user)
  return if user.blank?

  if user.role.name.downcase.include?("admin")
    can :manage, :all
  else
    permission_settings(user)
  end
  can :read, ActiveAdmin::Page
end

Instance Method Details

#permission_settings(user) ⇒ Object



17
18
19
20
21
# File 'lib/generators/active_admin_access_control/templates/model/ability.rb', line 17

def permission_settings(user)
  user.role.permissions.map do |permission|    
    can permission.action.to_sym, permission.class_name.constantize if permission.can?
  end
end