在IRB或rails控制台中启用后如何禁用awesome_print?

bhe*_*mar 2 ruby irb ruby-on-rails-3 awesomeprint

我将awesome_print配置为我在IRB中的默认格式化程序(AwesomePrint.irb!在我的.irbrc中使用)虽然这通常很棒,但我想有时将其关闭.有人知道如何从正在运行的IRB/Rails控制台?

Kor*_*oys 7

如果您愿意,可以将其粘贴到终端,将其重置为原来的状态:

IRB::Irb.class_eval do
  def output_value # :nodoc:
    printf @context.return_format, @context.inspect_last_value
  end
end
Run Code Online (Sandbox Code Playgroud)

或者你可以去整个猪和猴子补丁AwesomePrint:

module AwesomePrint
  def self.un_irb!
    IRB::Irb.class_eval do
      def output_value # :nodoc:
        printf @context.return_format, @context.inspect_last_value
      end
    end
  end
end
Run Code Online (Sandbox Code Playgroud)

然后随时调用它: AwesomePrint.un_irb!