Module: RGen::Util::MethodDelegation
- Defined in:
- lib/rgen/util/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
9 10 11 12 13 14 15 16 17 18 |
# File 'lib/rgen/util/method_delegation.rb', line 9 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
20 21 22 23 24 25 26 27 28 29 30 |
# File 'lib/rgen/util/method_delegation.rb', line 20 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 |