Class: Ability

Inherits:
Object
  • Object
show all
Includes:
CanCan::Ability
Defined in:
lib/generators/ifd_tools/install/templates/models/ability.rb

Instance Method Summary collapse

Constructor Details

#initialize(user) ⇒ Ability

Returns a new instance of Ability.



4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# File 'lib/generators/ifd_tools/install/templates/models/ability.rb', line 4

def initialize(user)

  user ||= User.new

  can :manage, :all
  cannot [:create, :new], [Customer, IfdTools::ContactRequest]
  
  unless user.super_admin?
    
    # Only manage regular accounts
    cannot :manage, User
    can :manage, User, role: %w(admin)
    
    # Cannot manage some other sensitive items
    cannot :manage, [IfdTools::SoftwareUpdate, IfdTools::EmergencyMessage, IfdTools::NotifierUpdate]
    
  end

end