2010-04-10 5 views
2

VCR 보석은 현재 FakeWeb에 따라 다릅니다. 나는 그것을 가지고있다 declared as a dependency in my gemspec.Ruby Gems 어느 쪽이든 또는 종속성?

난 VMC의 사용자가 FakeWeb 또는 WebMock을 http 스텁 라이브러리로 사용할 수 있도록 VCR이 WebMock과 함께 작동하도록 WebMock (FakeWeb과 유사한 기능을 제공하는 라이브러리)의 저작자와 협력 중입니다.

다음 VCR 버전을 출시 할 때 이러한 종속성을 처리하는 가장 좋은 방법이 무엇인지 확신 할 수 없습니다. VCR은 WebMock 또는 FakeWeb에 의존하지만 (둘 다 필요하지는 않음) 두 버전 모두에 특정 버전 요구 사항이 적용됩니다. 둘 다 내 gemspec에 종속성으로 추가 할 수 있지만 bundler을 사용하면 모든 gem 종속성이 번들되므로 FakeWeb Webmock이 응용 프로그램과 번들로 제공됩니다.

필자는 보석을 의존성으로 선언하지 않고 실행 중에 라이브러리의 존재 여부를 확인하고 (버전 확인과 함께) 사용자에게 유용한 오류 메시지를 제공한다고 생각했습니다. 지원되는 버전이없는 경우 그러나 나는이 접근법이 맘에 들지 않는다.

어느 쪽이든 또는 보석 의존성을 처리하는 가장 좋은 방법에 대한 제안이있는 사람이 있습니까?

감사합니다.

답변

2

선언 할 수 없기 때문에 종속성을 지정하지 않고 gemspec에 종속성을 지정하지 않고 런타임시 두 라이브러리의 존재 여부를 확인하는 것이 좋습니다.

관련 문제