例如,如果我有这个回调:
after_create :notify_users
当调用它时,如何在我的日志文件中记录“正在调用notify_users方法”这样的内容?
我实际上在我的应用程序中有几个回调。我知道我可以在puts 'notify_users method is being called'
方法中添加类似notify_users
的内容,但有没有办法自动记录所有回调?
答案 0 :(得分:3)
def notify_users
logger.info "notify_users method is being called"
end
答案 1 :(得分:1)
想一想:
module Log
def log *args
args.each do |m|
alias_method m.to_s + '_old', m
define_method m do |*args|
send(m.to_s + '_old', *args)
puts "#{m} is called"
end
end
end
end
class C
def m1
puts 'm1'
end
def m2
puts 'm2'
end
extend Log
log :m1, :m2
end
C.new.m1
C.new.m2
提供:
m1
m1 is called
m2
m2 is called