Начало работы с Ruby Gem Development - PullRequest
3 голосов
/ 29 марта 2009

Недавно я начал использовать камень под названием blackbook. У драгоценного камня есть несколько проблем, которые я хотел бы исправить. Я клонировал репозиторий git и установил гем локально, надеясь, что смогу связываться с исходным кодом. Когда я редактирую исходный код, ничего не происходит, поэтому теперь я думаю, что мне нужно пересобирать гем каждый раз, когда я делаю изменения.

Мой вопрос такой: Должен ли я иметь возможность редактировать исходный код драгоценного камня и сразу же видеть результаты, или я должен использовать исходный код в качестве плагина для моего приложения rails, а затем перестраивать драгоценный камень только тогда, когда я добился значительного прогресса?

Спасибо,

Tony

Ответы [ 2 ]

2 голосов
/ 07 августа 2012

Я использую это задание с граблями, чтобы обновлять свой драгоценный камень во время работы над ним. Он использует номер версии, хранящийся в файле в корне с именем 'VERSION'

desc "Build and install homer gem"
task :update do
  version = File.open('VERSION') { |f| f.read }.to_s
    `gem build homer.gemspec`
    `gem install ./homer-#{version}.gem`
end

и в спецификации драгоценного камня:

s.version = File.open('VERSION') { |f| f.read }.to_s
1 голос
/ 29 марта 2009

Вы можете связываться с исходным кодом установленного гема , чтобы изменить поведение установленного вами. Но если вы не играете в пути, это не повлияет на сам камень, даже если вы восстановите его.

Что я обычно делаю, это:

  • Настройка области разработки, где я могу вносить изменения и тестировать их (например, запускать юнит-тесты, спецификации и т. Д.)
  • Большая часть моей работы там
  • Когда у меня есть что-то, что мне нравится, пересоберите гем и попробуйте тестовую установку
  • Если это работает к моему удовлетворению, нажмите на нее.

Кроме того, если вы используете git hub, они должны автоматически перестраивать для вас гем каждый раз, когда вы отправляете коммит с обновленной gemspec (например, вы изменили номер версии).

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