0

我刚刚继承了一个 Rails 应用程序来进行新的演出。你的代码很疯狂,而且深深地埋在 gem 逻辑中,所以非常难以导航,而且不像轨道。我很难追踪以下逻辑。

    @navigator ||= BitPlayer::Navigator.new(current_participant)

我到处(在应用程序和 gem 目录中)搜索 BitPlayer 类/对象以及导航器,但找不到任何东西。我想我不明白这条线的基本组成。

有人可以指出我在哪里寻找这个的正确方向吗?我迫切需要找到“Navigator.new”方法!

4

1 回答 1

6

你可以试试Method#source_location。例如:

Nokogiri::HTML.method(:fragment).source_location
# ["/Users/mu/.../gems/nokogiri-1.10.10/lib/nokogiri/html.rb", 29] 

然后查看我们看到的文件的第 29 行:

def fragment string, encoding = nil

所以开始:

BitPlayer::Navigator.method(:initialize).source_location
于 2020-09-20T00:11:41.277 回答