Module: Kan::Abilities::ClassMethods
- Defined in:
- lib/kan/abilities.rb
Constant Summary collapse
- DEFAULT_ROLE_NAME =
:base- DEFAULT_ROLE_BLOCK =
proc { true }
Instance Method Summary collapse
- #ability_list ⇒ Object
- #register(*abilities, &block) ⇒ Object
- #role(role_name, &block) ⇒ Object
- #role_block ⇒ Object
- #role_name ⇒ Object
- #valid_role?(*args) ⇒ Boolean
Instance Method Details
#ability_list ⇒ Object
35 36 37 |
# File 'lib/kan/abilities.rb', line 35 def ability_list @ability_list || {} end |
#register(*abilities, &block) ⇒ Object
13 14 15 16 |
# File 'lib/kan/abilities.rb', line 13 def register(*abilities, &block) @ability_list ||= {} abilities.each { |ability| @ability_list[ability.to_sym] = block } end |
#role(role_name, &block) ⇒ Object
18 19 20 21 |
# File 'lib/kan/abilities.rb', line 18 def role(role_name, &block) @role_name = role_name @role_block = block end |
#role_block ⇒ Object
27 28 29 |
# File 'lib/kan/abilities.rb', line 27 def role_block @role_block || DEFAULT_ROLE_BLOCK end |
#role_name ⇒ Object
23 24 25 |
# File 'lib/kan/abilities.rb', line 23 def role_name @role_name || DEFAULT_ROLE_NAME end |
#valid_role?(*args) ⇒ Boolean
31 32 33 |
# File 'lib/kan/abilities.rb', line 31 def valid_role?(*args) role_block.call(*args) end |