Какой лучший способ отредактировать и протестировать существующий гем Ruby, а именно Gollum?
Я начинаю проект, в котором буду работать с базовым гемом Gollum wiki и добавлю в него некоторые функции. Мне было интересно, что это лучший способ сделать это.
Нужно ли собирать и устанавливать гем каждый раз, когда мне нужно его протестировать? Есть ли способ отредактировать исходный код драгоценного камня и проверить его на лету? Я только новичок в этом, так что извините, если это глупый вопрос!
2 ответа
- Клонировать мерзавца в ваше пространство пользователя;
- Оформить исходный код где-то в вашем
Projects
каталог; - Положите в свои основные проекты
Gemfile
следующие:
(вместо :git => ...
)
# V VERSION IS HERE
gem 'gollum', '~> XXX', :path => '/home/Projects/gollum'
Бежать bundle update
в вашем главном каталоге проекта каждый раз, когда вы меняете что-то в gollum
, Не забудьте внести изменения в GitHub в ваш gollum
разветвление и указание драгоценного камня к нему в Gemfile
перед загрузкой.
Надеюсь, поможет.
Есть несколько разных вещей, которые вы можете сделать в этой ситуации, если вы используете bundler
, Во-первых, вы можете просто редактировать камень локально. Бег bundle show gollum
покажет вам каталог, в котором установлен гем, и вы можете просто отредактировать его, и изменения появятся в вашем приложении. В конце вам нужно будет либо разветвлять гем, и использовать свою собственную версию в своем Gemfile
, Документацию по использованию собственного репозитория git можно найти здесь: http://bundler.io/git.html
Также в этой документации рассказывается, как настроить локальный репозиторий git. Если вы планируете иметь отдельный gollum
Репозиторий и нажав его, вы, вероятно, захотите работать с локальной копией. Вместо того, чтобы просто указывать на отдельный каталог в файловой системе, полезно использовать bundler
Функция Local Git Repos, которая также описана в ссылке выше.
В любом случае, как только вы будете готовы выдвинуть свой код, вы захотите указать свой код в удаленном хранилище, чтобы вы могли фактически развернуть его.