Class: Abilities::Proxy
- Inherits:
-
Object
show all
- Defined in:
- lib/abilities/proxy.rb
Instance Method Summary
collapse
Constructor Details
#initialize(actor, definitions, &block) ⇒ Proxy
Returns a new instance of Proxy.
4
5
6
7
8
|
# File 'lib/abilities/proxy.rb', line 4
def initialize(actor, definitions, &block)
@actor = actor
@definitions = definitions
instance_eval &block
end
|
Dynamic Method Handling
This class handles dynamic methods through the method_missing method
#method_missing(name, *args, &block) ⇒ Object
18
19
20
|
# File 'lib/abilities/proxy.rb', line 18
def method_missing(name, *args, &block)
@actor.send name, *args, &block
end
|
Instance Method Details
#can(actions, subjects, &block) ⇒ Object
10
11
12
|
# File 'lib/abilities/proxy.rb', line 10
def can(actions, subjects, &block)
@definitions.add actions, subjects, true, &block
end
|
#cannot(actions, subjects, &block) ⇒ Object
14
15
16
|
# File 'lib/abilities/proxy.rb', line 14
def cannot(actions, subjects, &block)
@definitions.add actions, subjects, false, &block
end
|