gem を見つけたい、またはメソッドのフックを実装するコードを書きたい。
class A
include SomeModule
before_hook :meth, lambda { puts 'bla' }
def meth
puts 'meth'
end
end
# A.new.meth => "bla\nmeth\n"
私は Rails を使用しており、コールバックとフィルターについては知っていますが、
meth
アクションではない- メソッド呼び出しの方法を変更したくない
お願い助けて...
アップデート
このコードを自動化するための宝石を見つけました:
include ActiveSupport::Callbacks
define_callbacks :meth_callback
set_callback :meth_callback, :before do |object|
# my code
end
def meth_with_callback
run_callbacks(:meth_callback) { meth }
end
alias_method_chain :meth, :callback