我正在使用寶石,我無法弄清楚如何使用特定的方法。紅寶石工具瀏覽安裝的寶石代碼
目前要了解它是如何工作的,我必須去github,搜索gem,實現代碼是從一個依賴項,搜索其他gem的代碼倉庫,實現它的另一個gem,找到它,找到類,並從那裏開始從一個類到另一個有很多瀏覽器標籤打開。
我在Linux上使用崇高文本。是否有一些工具可以讓我直接從寶石中獲取代碼?
我正在使用寶石,我無法弄清楚如何使用特定的方法。紅寶石工具瀏覽安裝的寶石代碼
目前要了解它是如何工作的,我必須去github,搜索gem,實現代碼是從一個依賴項,搜索其他gem的代碼倉庫,實現它的另一個gem,找到它,找到類,並從那裏開始從一個類到另一個有很多瀏覽器標籤打開。
我在Linux上使用崇高文本。是否有一些工具可以讓我直接從寶石中獲取代碼?
你可以使用pry與source-browsing.
它類似於IRB控制檯,可以看到是寫在普通的Ruby的任何類/方法的定義。
下面是一個例子與rgeo
寶石:
> 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
你可以「vendorize」你的寶石,是不是讓它們安裝在其他地方你的系統他們在項目中的。這樣你的編輯器就可以更容易地訪問源代碼。
如果您使用的是捆綁器,您可以執行一些類似bundle package
這將使您的寶石在./vendor/cache
。參考:How do I vendorize gems for Rails3/Bundler
我使用的另一種方法是gem_home這將管理您的$GEM_HOME
,這是安裝寶石的地方。你會這樣做:
cd ~/dev/my_project
gem_home .
bundle install
然後你會找到所有的寶石~/dev/my_project/.gems
。
您使用哪種方法不要忘記將目錄從版本控制中排除,例如,加到.gitignore
。
我認爲問題是沒有找到寶石的源代碼。問題是要確定它是什麼,並直接轉到它的代碼。什麼'show-source'呢。 –
是的,這就是我使用的 –