我的Rails网站使用了一个非常不错的宝石。每当我需要做一些新的事情时,我最终都要花费尽可能多的时间为gem添加功能,就像我在实际的Rails项目中添加代码一样。但我不介意,而且我的Gemfile设置指向我的GitHub宝石分叉(我尝试提交PR,但维护者似乎已经下台了)。
问题是我真的没有找到一种理智的方法来测试我添加到gem中的新东西。在rails c
内测试它会特别好,但我能想到的唯一方法是a)改变~/.rvm/gems/.../foo.rb
,这似乎不正确或b)改变版本,推动到Github,运行bundle up
,除了耗时之外显然是一场灾难,因为我不确定我提交的提交是否正确。
我甚至对标准irb
非常满意。但是,来自gem目录的require lib/foo
的各种排列都不起作用。
那么这里的最佳做法是什么?
答案 0 :(得分:10)
如果您正在使用gem并同时处理它,最好的方法是使用Bundler并提供本地路径:
gem 'my_bad_gem', path: '../my_bad_gem/'
这将在给定(在这种情况下为相对)路径下查找gem。另一种选择是使用本地git存储库(参见http://bundler.io/v1.3/git.html)。