0

我正在开发一个红宝石,我的要求是一团糟。

gem 是一个 web Scraper,它根据给定的选项,使用不同的方法访问 web,因此需要不同的 gem。有些用户可能永远不需要一些 gem,或者其中任何一个。

我的问题是,我在 .gemspec 中放了什么:

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

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

我不知道这方面的约定。谢谢。

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

4

1 回答 1

0

RubyGems 提供了两种主要的依赖“类型”:runtimedevelopment.

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

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

因此,在 Gem Specification 文件中,您可以添加 gems 需要工作的那些 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"]
于 2013-11-14T16:06:34.213 回答