Class: C::Ability

Inherits:
Object
  • Object
show all
Includes:
CanCan::Ability
Defined in:
app/models/c/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
16
17
18
19
# File 'app/models/c/ability.rb', line 6

def initialize(user)
  user ||= C::User.new
  can :manage, :all if user

  user.permissions.each do |permission|
    opts = {}
    opts[:id] = permission.subject_id if permission.subject_id

    can [:read],                      permission.subject, opts if permission.read?
    can [:new, :create],              permission.subject, opts if permission.new?
    can [:edit, :update],             permission.subject, opts if permission.edit?
    can [:destroy, :confirm_destroy], permission.subject, opts if permission.remove?
  end
end