Class Aquarium::Aspects::NoAdviceChainNode
In: lib/aquarium/aspects/advice.rb
Parent: AdviceChainNode

When invoking the original method, we use object.send(original_method_name, *args) rather than object.method(...).call(*args). The latter fails when the original method calls super. This is a Ruby bug: www.ruby-forum.com/topic/124276

Methods

Public Class methods

Note that we extract the block passed to the original method call, if any, from the context and pass it to method invocation.

[Source]

     # File lib/aquarium/aspects/advice.rb, line 145
145:       def initialize options = {}
146:         super options
147:       end

Public Instance methods

[Source]

     # File lib/aquarium/aspects/advice.rb, line 148
148:       def advice_wrapper jp
149:         jp.context.advised_object.send @alias_method_name, *jp.context.parameters, &jp.context.block_for_method
150:       end

[Validate]