Class: Sunrise::Models::Ability
- Inherits:
-
Object
- Object
- Sunrise::Models::Ability
- Includes:
- CanCanNamespace::Ability
- Defined in:
- lib/sunrise/models/ability.rb
Direct Known Subclasses
Instance Attribute Summary collapse
-
#context ⇒ Object
Returns the value of attribute context.
-
#user ⇒ Object
Returns the value of attribute user.
Instance Method Summary collapse
- #admin ⇒ Object
-
#initialize(user, context = nil) ⇒ Ability
constructor
A new instance of Ability.
Constructor Details
#initialize(user, context = nil) ⇒ Ability
Returns a new instance of Ability.
10 11 12 13 14 15 16 17 18 19 20 21 |
# File 'lib/sunrise/models/ability.rb', line 10 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 |
Instance Attribute Details
#context ⇒ Object
Returns the value of attribute context.
8 9 10 |
# File 'lib/sunrise/models/ability.rb', line 8 def context @context end |
#user ⇒ Object
Returns the value of attribute user.
8 9 10 |
# File 'lib/sunrise/models/ability.rb', line 8 def user @user end |
Instance Method Details
#admin ⇒ Object
23 24 25 26 27 28 29 30 31 32 |
# File 'lib/sunrise/models/ability.rb', line 23 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 |