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

Methods

Public Class methods

[Source]

     # File lib/aquarium/aspects/advice.rb, line 167
167:       def initialize options = {}
168:         super options
169:       end

Public Instance methods

[Source]

     # File lib/aquarium/aspects/advice.rb, line 170
170:       def advice_wrapper jp
171:         returned_value = next_node.call jp
172:         update_current_context jp
173:         jp.context.advice_kind = :after_returning
174:         jp.context.returned_value = returned_value
175:         call_advice jp
176:         result = jp.context.returned_value   # allow advice to modify the returned value
177:         reset_current_context jp
178:         result
179:       end

[Validate]