Я использую консоль Rails в режиме отладки довольно много, и ее просто немного утомительно, чтобы изменить размер окна консоли, чтобы я мог найти верхнюю часть списка без необходимости прокрутки.
Я думал, что BacktraceCleaner может с этим справиться, но я не могу заставить его ничего не слышать в консоли.
Я помещаю этот код в инициализатор в своем приложении.
bc = Rails.backtrace_cleaner
bc.add_filter { |line| line.gsub(Rails.root.to_s, '<root>') }
bc.add_silencer { |line| line.index('<root>').nil? and line.index('/') == 0 }
bc.add_silencer { |line| line.index('<root>/vendor/') == 0 }
bc.add_silencer { |line| line =~ /console.rb/ }
bc.add_silencer { |line| line =~ /ruby-debug.ide.rb/ }
bc.add_silencer { |line| line =~ /rdebug-ide/ }
но не влияет на ошибки консоли. Поэтому я попробовал его прямо в консоли:
>>bc = Rails.backtrace_cleaner
>>bc.add_silencer { |line| line =~ /console.rb/ }
>> 1/0
ZeroDivisionError: divided by 0
from (irb):23:in `/'
from (irb):23
from C:/Ruby193/lib/ruby/gems/1.9.1/gems/railties-4.0.3/lib/rails/commands /console.rb:90:in `start'
from C:/Ruby193/lib/ruby/gems/1.9.1/gems/railties-4.0.3/lib/rails/commands/console.rb:9:in `start'
- и все еще видя обратные линии, содержащие "console.rb". Rails.backtrace_cleaner возвращает другое другое средство очистки, которое не используется в среде консоли Rails?
Как я могу получить дескриптор (или установки) очистителя backtrace на консольных backtraces?