Sha256: fb9be56448563cf7f8793e365c6132b95eb94490cb61fbe3552e5cbd7929bc7a
Contents?: true
Size: 883 Bytes
Versions: 24
Compression:
Stored size: 883 Bytes
Contents
require 'cancan_namespace' module Sunrise module Models class Ability include CanCanNamespace::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 # User cannot destroy root structure cannot :destroy, ::Structure, :structure_type_id => ::StructureType.main.id, :context => :sunrise end end end end
Version data entries
24 entries across 24 versions & 1 rubygems