Ruby 在Rails项目中测试gem的本地版本

Ruby 在Rails项目中测试gem的本地版本,ruby,gem,bundler,irb,Ruby,Gem,Bundler,Irb,我的Rails站点使用了一个非常不好的gem。每当我需要做一些新的事情时,我最终不得不花费和我在实际Rails项目中添加代码一样多的时间在gem中添加特性。但我不介意,我已经将我的Gemfile设置为指向gem的GitHub分支(我试图提交PRs,但维护人员似乎已经下台) 问题是,我真的没有找到一种理智的方法来测试我添加到gem中的新东西。在rails c中测试它会特别好,但我能想到的唯一方法是a)更改~/.rvm/gems/../foo.rb,这似乎不正确;b)碰撞版本,推到Github,然后

我的Rails站点使用了一个非常不好的gem。每当我需要做一些新的事情时,我最终不得不花费和我在实际Rails项目中添加代码一样多的时间在gem中添加特性。但我不介意,我已经将我的Gemfile设置为指向gem的GitHub分支(我试图提交PRs,但维护人员似乎已经下台)

问题是,我真的没有找到一种理智的方法来测试我添加到gem中的新东西。在
rails c
中测试它会特别好,但我能想到的唯一方法是a)更改
~/.rvm/gems/../foo.rb
,这似乎不正确;b)碰撞版本,推到Github,然后运行
捆绑
,除了耗时之外,这显然是一场灾难,因为我不确定我所做的承诺是否正确

我甚至对标准的
irb
非常满意。但是
的各种排列需要gem目录中的lib/foo
不起作用


那么这里的最佳实践是什么呢?

如果您正在使用gem并同时处理它,最好的方法是使用Bundler并提供本地路径:

gem 'my_bad_gem', path: '../my_bad_gem/'

这将在给定(本例中为相对)路径下查找gem。另一个选择是使用本地git存储库(请参阅)。

顺便说一句,我认为您的gem非常棒