Sha256: cba2dd44818ff10f1f206e3ad38b611c8705bd3dce00578b922efd799c8763ea

Contents?: true

Size: 676 Bytes

Versions: 8

Compression:

Stored size: 676 Bytes

Contents

# frozen_string_literal: true
module C
  class Ability
    include CanCan::Ability

    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
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
cd2_catton_cms-1.1.35 app/models/c/ability.rb
cd2_catton_cms-1.1.34 app/models/c/ability.rb
cd2_catton_cms-1.1.33 app/models/c/ability.rb
cd2_catton_cms-1.1.32 app/models/c/ability.rb
cd2_catton_cms-1.1.31 app/models/c/ability.rb
cd2_catton_cms-1.1.30 app/models/c/ability.rb
cd2_catton_cms-1.1.20 app/models/c/ability.rb
cd2_catton_cms-1.1.10 app/models/c/ability.rb