class Needle::InterceptorChainBuilder::InterceptorChainElement
A single element in an interceptor chain. Each interceptor object is wrapped in an instance of one of these. Calling process_next on a given chain element, invokes the process method on the corresponding interceptor, with the next element in the chain being passed in.
Public Class Methods
new( interceptor )
click to toggle source
Create a new InterceptorChainElement that wraps the given interceptor.
# File lib/needle/interceptor-chain.rb, line 40 def initialize( interceptor ) @interceptor = interceptor end
Public Instance Methods
next(=( next_obj ))
click to toggle source
Set the next element in the interceptor chain to the given object. This must be either an InterceptorChainElement instance of a ProxyObjectChainElement instance.
# File lib/needle/interceptor-chain.rb, line 47 def next=( next_obj ) @next_obj = next_obj end
process_next( context )
click to toggle source
Invokes the process method of the interceptor encapsulated by this object, with the next element in the chain being passed to it.
# File lib/needle/interceptor-chain.rb, line 53 def process_next( context ) if @next_obj.nil? raise Bug, "[BUG] interceptor chain should always terminate with proxy" end @interceptor.process( @next_obj, context ) end