Class: Ability

Inherits:
Object
  • Object
show all
Includes:
CanCan::Ability
Defined in:
lib/generators/esp_auth/install/templates/app/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
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
# File 'lib/generators/esp_auth/install/templates/app/models/ability.rb', line 4

def initialize(user)
  return unless user

  ## common
  can :manage, Context do | context |
    user.manager_of? context
  end

  can :manage, Permission do | permission |
    permission.context && user.manager_of?(permission.context)
  end

  can [:new, :create], Permission do | permission |
    !permission.context && user.manager?
  end

  can [:search, :index], User do
    user.manager?
  end

  can :manage, :application do
    user.have_permissions?
  end

  can :manage, :permissions do
    user.manager?
  end

  can :manage, :audits do
    user.manager_of? Context.first
  end

  ## app specific
  can :manage, Subcontext do | subcontext |
    user.manager_of? subcontext.context
  end

  can :manage, Subcontext do | subcontext |
    user.manager_of? subcontext
  end
end