Ruby gem - 需要取决于运行时选项



我正在开发一种红宝石宝石,我的需求一团糟。

gem 是一个网络抓取器,根据给定的选项,它使用不同的方法来访问网络,因此需要不同的 gem。有些用户可能永远不需要一些宝石,或者其中任何一个。

我的问题是,我应该在我的 .gemspec 中放入什么:

 s.add_runtime_dependency #do I require all the gems here?

我实际上在哪里需要代码中必要的 gem,以及如何进行测试?

我不知道这方面的惯例。谢谢。

*代码:https://github.com/ZirconCode/Scrapah

RubyGems提供了两种主要的依赖"类型":runtimedevelopment

运行时依赖项是 gem 工作所需的(例如rails需要activesupport)。

当有人想要对您的 Gem 进行修改时,开发依赖项非常有用。当您指定开发依赖项时,另一个开发人员可以运行gem install --dev your_gemRubyGems将获取两组依赖项(runtime and development)。典型的开发依赖项包括测试框架和构建系统。

因此,在 Gem 规范文件中,您可以添加 Gem 工作所需的 Gem

Gem::Specification.new do |s|
   s.name = "gem name"
   s.version = "2.0.0"
   s.add_runtime_dependency "daemons",
   ["= 1.1.0"]
   s.add_development_dependency "bourne",
   [">= 0"]

最新更新