Я записал это в свою консоль Pry, чтобы найти трассировку стека в моем приложении:
caller.select {|line| line.include? "myapp" }
Есть ли способ сделать этот метод и просто вызвать вместо него что-то вроде my_stack ?
my_stack
Как я могу это сделать?
В вашем домашнем каталоге (~) вы можете создать файл с именем .pryrc и добавить в него функцию Ruby:
~
.pryrc
def my_stack(app_name = '') caller.select {|line| line.include? app_name } end
И вы можете использовать my_stack или my_stack('myapp') от Прай.
my_stack('myapp')
Основываясь на ответе @ vcsjones , я добавил следующее к ~/.pryrc:
~/.pryrc
def my_stack(needle = File.basename(Dir.getwd)) caller.select {|line| line.include? needle } end
, которое по умолчанию будет охватывать каталог, в котором выполняется приложение.