Sha256: b072fbfbc0111717104ee31ca5ec142e3ee8df2dffaf36aa662d677c65082edd
Contents?: true
Size: 870 Bytes
Versions: 9
Compression:
Stored size: 870 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, :kind => ::StructureType.main.id, :context => :sunrise end end end end
Version data entries
9 entries across 9 versions & 1 rubygems