Какой лучший способ настроить рубиновые гемы для чтения кода - PullRequest
3 голосов
/ 06 марта 2012

Чтобы помочь понять исходный код различных гемов, я часто хочу поместить различные операторы put в исходный код или даже попробовать использовать отладчик ruby.

Но каков наилучший способ сделать это?

Вы клонируете проект из github и вносите изменения локально, если да, то как вы «заставляете» использовать локальный клонированный код поверхместный драгоценный камень на вашей машине.Должен ли я просто создать несколько сценариев, в которых явно требуется путь клонированной папки репозитория?

Или мне следует использовать rvm для создания временного набора гемов, загрузить его и изменить его напрямую?

Есть ли другие методы, которые я пропустил?Как это изменится для драгоценных камней, предназначенных для использования в проектах рельсов.

Ответы [ 3 ]

3 голосов
/ 06 марта 2012

С Bundler .

В приложении Rails просто отредактируйте Gemfile и добавьте:

  gem "gem_name", :path => "~/MyGems/gem_name"

PS: Bundler работать с любым проектом Ruby.

3 голосов
/ 06 марта 2012

Как я обычно делаю, когда хочу внести изменения в Gem:

  1. Разветвить репозиторий на Github
  2. Проверить его и создать новую ветку для локальных изменений
  3. Используйте Bundler для управления зависимостями для проекта, в котором используется Gem
  4. Измените одну строку в Gemfile, чтобы он использовал разветвленную версию Gem:

gem "thegem", :git => "git://github.com/name/thegem.git", :branch => 'mybranch'

или

gem "thegem", :git => "file:///path/to/thegem", :branch => 'mybranch'

, где /path/to/thegem - путь к вашей локальной рабочей копии.

Преимущество заключается в том, что вы ужесоздать идеальную инфраструктуру для внесения изменений с помощью запроса на извлечение:)

1 голос
/ 06 марта 2012

Вы можете использовать rvm для создания временного набора, загрузить его и изменить его напрямую.Быстрый способ просмотреть / изменить камень - это использовать gemedit :

Установить:

  • gem установить gemedit

Использование:

  • gem edit devise
  • or: gem edit devise -e mate
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...