Как сделать пользовательский метод доступным в консоли Pry - PullRequest
1 голос
/ 08 февраля 2020

Я записал это в свою консоль Pry, чтобы найти трассировку стека в моем приложении:

caller.select {|line| line.include? "myapp" }

Есть ли способ сделать этот метод и просто вызвать вместо него что-то вроде my_stack ?

Как я могу это сделать?

Ответы [ 2 ]

2 голосов
/ 08 февраля 2020

В вашем домашнем каталоге (~) вы можете создать файл с именем .pryrc и добавить в него функцию Ruby:

def my_stack(app_name = '')
  caller.select {|line| line.include? app_name }
end

И вы можете использовать my_stack или my_stack('myapp') от Прай.

0 голосов
/ 08 февраля 2020

Основываясь на ответе @ vcsjones , я добавил следующее к ~/.pryrc:

def my_stack(needle = File.basename(Dir.getwd))
  caller.select {|line| line.include? needle }
end

, которое по умолчанию будет охватывать каталог, в котором выполняется приложение.

...