Рубиновые драгоценные камни или зависимость? - PullRequest
2 голосов
/ 10 апреля 2010

My VCR драгоценный камень в настоящее время зависит от FakeWeb . У меня это объявлено как зависимость в моем gemspec .

Я работаю с автором WebMock (библиотека, которая обеспечивает аналогичную функциональность для FakeWeb), чтобы заставить видеомагнитофон работать и с WebMock, чтобы пользователи видеомагнитофона могли использовать FakeWeb или WebMock как библиотека http stubbing.

Когда приходит время выпустить следующую версию видеомагнитофона, я не уверен, что лучше всего справиться с этими зависимостями. Видеомагнитофон будет зависеть от WebMock или FakeWeb (но не требует обоих) и будет иметь определенные требования к версии для обоих. Я мог бы добавить обе зависимости в мою gemspec, но когда вы используете bundler , он объединяет все зависимости gem - так что и FakeWeb , и Webmock будут связаны с приложением.

Я думал, что, возможно, я не буду объявлять любой гем как зависимость, проверять наличие любой библиотеки во время выполнения (вместе с проверкой версии) и сообщать пользователю полезное сообщение об ошибке, если ни присутствует в поддерживаемой версии. Но я не совсем уверен, что мне нравится такой подход.

Есть ли у кого-нибудь предложения о том, как лучше всего справиться с / или зависимостью от гемов?

Спасибо!

1 Ответ

2 голосов
/ 11 апреля 2010

, поскольку невозможно объявить или / или зависимости, я думаю, что не нужно указывать какую-либо зависимость в вашей gemspec и проверять наличие какой-либо библиотеки во время выполнения - вот путь.

...