2010-04-10 148 views
2

VCR寶石目前取決於FakeWeb。我有它declared as a dependency in my gemspec紅寶石寶石是否或依賴?

我正在使用WebMock(提供與FakeWeb類似的功能的庫)的auther來讓VCR與WebMock一起工作,以便VCR的用戶可以使用FakeWeb或WebMock作爲http存根庫。

當談到時間來釋放VCR的下一個版本,我不知道的來處理這些依賴關係的最佳途徑。 VCR將取決於兩種WebMock,或FakeWeb(但不同時需要),並有兩個特定版本的要求。我可以與依賴都添加到我的gemspec,但是當你使用bundler,它捆綁所有的gem依賴 - 這樣既FakeWeb Webmock將獲得與應用程序捆綁在一起。

我一直在想,也許我不會將gem聲明爲依賴項,並在運行時檢查任何庫的存在(以及檢查版本),併爲用戶提供有用的錯誤消息如果兩者都不存在於受支持的版本中。但我不確定我是否也喜歡這種方法。

沒有人有處理一個非此即彼/或寶石依賴的最佳方式有何建議?

謝謝!

回答

2

,因爲這是不可能的申報要麼/或依賴性,我覺得不是在你的gemspec指定任何依賴性和檢查在運行時無論是圖書館的存在是要走的路。