When a block is passed to the s2aspect method, the block is treated as Interceptor. The argument to the block is MethodInvocation instance. By calling the proceed method of MethodInvocation class, following Interceptor or the method for Aspect is executed.
require 's2container'
class Action
s2comp
def index
s2logger.debug(self){"Action::index called."}
return 100
end
end
s2aspect(:pattern => Action) {|invocation|
invocation.proceed * 1.05
}
p s2app[Action].index # -> 105.0
![]() | NOTE |
|---|---|
|
This Example is located at "examples/quickstart/quickstart7". |
| © Copyright The Seasar Foundation and the others 2008-2009, all rights reserved. |