Sha256: 393b4862b7cab8d137d03029a06a1f1dca6ece5410c8e55e6fbb1b8c8f6715b6
Contents?: true
Size: 968 Bytes
Versions: 1
Compression:
Stored size: 968 Bytes
Contents
# frozen_string_literal: true module Sunrise module Models class Ability include CanCan::Ability attr_accessor :context, :user def initialize(user, context = nil) # alias_action :delete, to: :destroy @user = (user || ::User.new) # guest user (not logged in) @context = context if @user.persisted? && @user.role_type send @user.role_type.code else guest end end def admin can :manage, :all # can :manage, :all, context: :sunrise # User cannot destroy self account # cannot :destroy, ::User, id: @user.id, context: :sunrise cannot :destroy, ::User, id: @user.id # User cannot destroy root structure # cannot :destroy, ::Structure, structure_type_id: ::StructureType.main.id, context: :sunrise cannot :destroy, ::Structure, structure_type_id: ::StructureType.main.id end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
sunrise-cms-1.1.1 | lib/sunrise/models/ability.rb |