我已经看过 http://ruby-doc.org/stdlib-2.0.0/libdoc/irb/rdoc/IRB.html,可以看到自定义IRB的各种方法。但没有看到如何:
编写一个块(或方法(,以便每当在 Rails 控制台中运行命令时,它都会运行该块。
例如:
begin
puts :before
yield
puts :after
end
然后,当你这样做时
=> puts :OK
:before
:OK
:after
如果你能够从 IRB 切换到 Pry(pry-rails
gem 会自动加载它rails c
(,它提供了一个钩子 API,应该可以满足你的需要。听起来你想要:before_eval
和:after_eval
事件。
我不知道IRB的等效机制,尽管应该可以使用TracePoint破解某些东西。