Class: Ddr::Auth::AbstractAbility Abstract

Inherits:
Object
  • Object
show all
Includes:
CanCan::Ability
Defined in:
lib/ddr/auth/abstract_ability.rb

Overview

This class is abstract.

Direct Known Subclasses

Ability, AnonymousAbility, SuperuserAbility

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(auth_context) ⇒ AbstractAbility

Returns a new instance of AbstractAbility.



27
28
29
30
31
32
33
# File 'lib/ddr/auth/abstract_ability.rb', line 27

def initialize(auth_context)
  @auth_context = auth_context
  if exclude_default_aliases
    clear_aliased_actions
  end
  apply_ability_definitions
end

Instance Attribute Details

#auth_contextObject (readonly)

Returns the value of attribute auth_context.



20
21
22
# File 'lib/ddr/auth/abstract_ability.rb', line 20

def auth_context
  @auth_context
end

Instance Method Details

#apply(ability_def) ⇒ Object



43
44
45
# File 'lib/ddr/auth/abstract_ability.rb', line 43

def apply(ability_def)
  ability_def.call(self)
end

#apply_ability_definitionsObject



39
40
41
# File 'lib/ddr/auth/abstract_ability.rb', line 39

def apply_ability_definitions
  ability_definitions.reduce(self, :apply)
end

#cacheObject



35
36
37
# File 'lib/ddr/auth/abstract_ability.rb', line 35

def cache
  @cache ||= {}
end