Class: Luego::Delegate
- Inherits:
-
BasicObject
- Defined in:
- lib/luego/delegate.rb
Direct Known Subclasses
Future
Instance Method Summary
collapse
Constructor Details
#initialize(object) ⇒ Delegate
Returns a new instance of Delegate.
3
4
5
|
# File 'lib/luego/delegate.rb', line 3
def initialize(object)
@child = object
end
|
Dynamic Method Handling
This class handles dynamic methods through the method_missing method
#method_missing(*args, &block) ⇒ Object
12
13
14
15
|
# File 'lib/luego/delegate.rb', line 12
def method_missing(*args, &block)
return super if not delegating?
send *args, &block
end
|
Instance Method Details
#delegate! ⇒ Object
21
22
23
|
# File 'lib/luego/delegate.rb', line 21
def delegate!
@delegating = true
end
|
#delegating? ⇒ Boolean
17
18
19
|
# File 'lib/luego/delegate.rb', line 17
def delegating?
!!@delegating
end
|
#send(*args, &block) ⇒ Object
7
8
9
10
|
# File 'lib/luego/delegate.rb', line 7
def send(*args, &block)
return super if not delegating?
@child.send *args, &block
end
|
#undelegate! ⇒ Object
25
26
27
|
# File 'lib/luego/delegate.rb', line 25
def undelegate!
@delegating = false
end
|