Поиск кода Gem или плагина, упакованного в приложение Rails3 - PullRequest
1 голос
/ 16 июля 2010

В мире Rails2 можно было удобно просматривать код плагинов или гемов, прилагаемых к приложению.С Rails3 все упакованные гемы сохраняются как .gem и, следовательно, не доступны для просмотра и поиска.Теперь мне нужно внешне использовать «bundle open [gem]» для просмотра кода gem / plugin.У кого-нибудь есть лучшая техника для поиска или мгновенного чтения кода gem / plugin

Ответы [ 2 ]

2 голосов
/ 02 августа 2010

Если вы устанавливаете камень "gemedit", вы также можете использовать gem edit [gem], чтобы открыть источник указанного камня. Тем не менее, редактирование gem не учитывает пакеты (я думаю, что он ищет только локальный домашний гем), поэтому, вероятно, открытие пакета - лучшая команда в приложении Rails 3.

Если вы хотите сохранить все гемы для приложения в одном каталоге, вы можете попробовать установить пакет для приложения в отдельный каталог, как в bundle install myBundleDir --disable-shared-gems. Это установит все необходимые гемы в myBundleDir, игнорируя системные гемы, поэтому у вас будет каждый фрагмент кода, который запускает ваше приложение в этом каталоге.

0 голосов
/ 03 августа 2011

Вот то, что я недавно написал в своем блоге , что помогло мне решить эту проблему:

Я использую gedit для написания кода.Я держу открытую вкладку в левой части экрана, и иногда мне нужно посмотреть на исходный код gem.RVM потрясающий, он хранит мои 1.8.7 драгоценных камня, 1.9.2 драгоценных камня и все мои наборы драгоценных камней, но это затрудняет поиск драгоценного камня, на который нужно смотреть.

Введите крючки RVM!Если вы хотите, чтобы символическая ссылка на текущий каталог gem обновлялась при каждом переключении версий ruby, сохраните что-то вроде следующего кода в ~/.rvm/hooks/after_use

ln -nfs $rvm_ruby_gem_home/gems ~/src/gems/current_bundle

Теперь у вас есть доступ к исходному коду gems изфайловый браузер в вашем редакторе.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...