新手问题 gemspec 中条件依赖问题

kenshin54 · 2013年11月04日 · 最后由 liwei78 回复于 2013年11月04日 · 2920 次阅读

情况如下:

假设自己写了个 gem foo,在某一部分有多个 adapter,不同的 adapter 依赖的 gem 不同,在使用方可以通过配置文件选择用哪个 adapter。

问题是:如果在 foo.gemspec 把所有的 adapter 的依赖全部写上,感觉这样做不太好,会引入很多不用的 gem。如果不写,在使用时 bundler 就没法把相关 gem 装好,需要用户手动检查这块的 gem 依赖,加到 Gemfile 里。

现在的想法是在读取用户写的配置文件时,检查用户是否加了 adapter 依赖的 gem,如果没有就在终端提示,求有没有更好的办法,是不是需要在自己的 gem 里通过 bundler 的 API 去解决这问题?

😄 就弄成 factory_girl => factory_girl_rails, rspec => rspec-rails 这种吧

参照 omniauth 和一系列 omniauth-xxxx(twitter,qq,weibo...) 的做法

需要 登录 后方可回复, 如果你还没有账号请 注册新账号