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

时间:2017-03-08 10:21:26

标签: ruby rubygems

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

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

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

2 个答案:

答案 0 :(得分:1)

您可以将prysource-browsing.

一起使用

它是一个类似于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: #<Class:RGeo::Cartesian>
Visibility: public
Number of lines: 7

def preferred_factory(opts_ = {})
  if ::RGeo::Geos.supported?
    ::RGeo::Geos.factory(opts_)
  else
    simple_factory(opts_)
  end
end

答案 1 :(得分:0)

你可以&#34;供应商&#34;你的宝石,而不是将它们安装在你的系统中的其他地方,它们就在你的项目中。这样您的编辑器就可以更轻松地访问源代码。

如果您使用的是捆绑器,则可以执行./vendor/cache之类的操作,这样可以将您的宝石放入$GEM_HOME。参考:How do I vendorize gems for Rails3/Bundler

我使用的另一种方法是gem_home这将管理您的cd ~/dev/my_project gem_home . bundle install ,这是安装宝石的地方。你可以这样做:

~/dev/my_project/.gems

然后,您将在.gitignore中找到所有宝石。

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