Ruby工具浏览已安装的gems代码

我正在使用gem,我无法弄清楚如何使用特定的方法。

目前要了解它是如何工作的,我必须去github,搜索gem实现代码来自依赖,搜索代码repo为其他gem,实现它的另一个gem,找到它,找到类,然后从那里开始从一个类到另一个类,打开很多浏览器选项卡。

我在Linux上使用sublime文本。 是否有一些工具可以让我直接从gem访问代码?

您可以使用pry进行源浏览。

它是一个类似于IRB的控制台,您可以查看用纯Ruby编写的任何类/方法的定义。

这是rgeo gem的一个例子:

 > pry [1] pry(main)> require 'rgeo' => true [2] pry(main)> show-source RGeo::Cartesian.factory From: ~/.rvm/gems/ruby-2.3.1/gems/rgeo-0.6.0/lib/rgeo/cartesian/interface.rb @ line 27: Owner: # Visibility: public Number of lines: 7 def preferred_factory(opts_ = {}) if ::RGeo::Geos.supported? ::RGeo::Geos.factory(opts_) else simple_factory(opts_) end end 

您可以“供应”您的gem,而不是将它们安装在系统中的其他位置,它们位于您的项目中。 这样您的编辑器就可以更轻松地访问源代码。

如果你正在使用bundler,你可以做一些类似bundle package东西,它会把你的gem放在./vendor/cache 。 参考: 如何为Rails3 / Bundler提供gem供应商

另一种方法,我使用的是gem_home,这将管理你的$GEM_HOME ,这是安装gem的地方。 你会做的事情如下:

 cd ~/dev/my_project gem_home . bundle install 

然后,您将在~/dev/my_project/.gems找到所有gem。

您使用哪种方法都不要忘记从版本控制中排除目录,例如添加到.gitignore