Как скрыть подглядывать?
Иногда, когда я открываю binding.pry
сеанс в спецификации, он показывает мне слишком длинную область видимости в оболочке, как показано ниже, и занимает всю строку оболочки:
[3] pry(#<RSpec::ExampleGroups::Scope::AfterSeed::BehavesLikeAnExportableToExcelModel::WhenImportingFromSpreadsheet::AXlsxFile>)>
Невозможно использовать оболочку, когда уровень слишком глубокий, и эта информация о области действия становится бессмысленной. Как я могу скрыть эту область для чего-то вроде pry(#hidden_info>)>
а еще есть методы и переменные из предыдущей области?
1 ответ
Подсказка pry может быть настроена различными способами. Значение подсказки может принимать любую произвольную форму. (предел - все, что вы можете сделать в Ruby)
Вы можете увидеть DEFAULT_PROMPT
значения в rdocs:
[
proc { |target_self, nest_level, pry|
"[#{pry.input_array.size}] #{pry.config.prompt_name}(#{Pry.view_clip(target_self)})#{":#{nest_level}" unless nest_level.zero?}> "
},
proc { |target_self, nest_level, pry|
"[#{pry.input_array.size}] #{pry.config.prompt_name}(#{Pry.view_clip(target_self)})#{":#{nest_level}" unless nest_level.zero?}* "
}
]
В вашем случае вы, вероятно, хотели бы поместить следующее в ~/.pryrc
и затем перезапустите любые сеансы pry:
Pry.config.prompt = [
proc { |target_self, nest_level, pry|
"[#{pry.input_array.size}] #{pry.config.prompt_name}#{":#{nest_level}" unless nest_level.zero?}> "
},
proc { |target_self, nest_level, pry|
"[#{pry.input_array.size}] #{pry.config.prompt_name}#{":#{nest_level}" unless nest_level.zero?}* "
}
]
Это удаляет Pry.view_clip(target_self)
вызов, который будет обрезать класс из приглашения.
Здесь также есть примеры переполнения стека для настройки запроса pry.