Module: Alephant::Support::AOP
- Defined in:
- lib/alephant/support/aop.rb
Instance Method Summary collapse
Instance Method Details
#around(fn_name) ⇒ Object
5 6 7 8 9 10 11 12 13 14 |
# File 'lib/alephant/support/aop.rb', line 5 def around(fn_name) old_method = instance_method(fn_name) define_method(fn_name) do |*args| yield :before, args if block_given? old_method.bind(self).call(args).tap do |return_value| args << return_value unless return_value.nil? end yield :after, args if block_given? end end |