Module: RGen::MethodDelegation
- Defined in:
- lib/rgen/method_delegation.rb
Class Method Summary collapse
- .registerDelegate(delegate, object, method) ⇒ Object
- .unregisterDelegate(delegate, object, method) ⇒ Object
Class Method Details
.registerDelegate(delegate, object, method) ⇒ Object
7 8 9 10 11 12 13 14 15 16 |
# File 'lib/rgen/method_delegation.rb', line 7 def registerDelegate(delegate, object, method) method = method.to_sym createDelegateStore(object) if object._methodDelegates[method] object._methodDelegates[method] << delegate else object._methodDelegates[method] = [delegate] createDelegatingMethod(object, method) end end |
.unregisterDelegate(delegate, object, method) ⇒ Object
18 19 20 21 22 23 24 25 26 27 28 |
# File 'lib/rgen/method_delegation.rb', line 18 def unregisterDelegate(delegate, object, method) method = method.to_sym return unless object.respond_to?(:_methodDelegates) return unless object._methodDelegates[method] object._methodDelegates[method].delete(delegate) if object._methodDelegates[method].empty? object._methodDelegates[method] = nil removeDelegatingMethod(object, method) removeDelegateStore(object) end end |