Ruby Gem Development入门

时间:2009-03-29 14:36:43

标签: ruby-on-rails ruby rubygems

最近我开始使用名为blackbook的宝石。宝石有一些我想解决的问题。我克隆了git repo并在本地安装了gem,希望我能搞乱源代码。当我编辑源代码时没有任何反应,所以现在我认为每次进行更改时我都必须重建gem。

我的问题是: 我是否应该能够编辑gem的源代码并立即查看结果,还是应该将源代码用作我的rails应用程序的插件,然后只有在我取得重大进展后重建gem?

谢谢,

2 个答案:

答案 0 :(得分:2)

我使用这个rake任务让我的宝石保持最新状态。它使用存储在名为“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 :(得分:1)

您可以使用已安装的 gem的源代码来更改已安装内容的行为。但除非你正在玩路径游戏,否则即使重建也不会影响宝石本身。

我通常做的是:

  • 设置一个我可以进行更改的开发区域&测试它们(例如运行单元测试,规范等)
  • 我的大部分工作都在那里
  • 当我得到我喜欢的东西时,重建宝石并尝试测试安装
  • 如果这令我满意,请推它。

此外,如果您使用的是git hub,每次使用更新的gemspec推送提交时,他们都会自动为您重建gem(例如,您已更改版本号)。