需要Ruby gem中的订单

时间:2016-05-07 04:53:01

标签: ruby rubygems require

Ruby gem我更新了名为politicosbr的新功能,取决于其他四个Ruby宝石,并在其主模块中需要它们。

require 'open-uri'
require 'nokogiri'
require 'httparty'
require 'roo-xls'

但它还需要一些内部文件:

require 'politicosbr/constantes'
require 'politicosbr/estaduais'
require 'politicosbr/vereadores'

这可能只是风格问题,但无论如何我想知道在这种情况下是否有关于需求顺序的Ruby约定。

换句话说,我应该首先要求内部文件,还是首先要求其他宝石,还是根本不需要?

1 个答案:

答案 0 :(得分:3)

您应该在内部文件之前需要外部文件,因为外部文件不应该依赖于您的文件,但您的内部文件取决于外部文件。

例如,假设外部文件将类A定义为B的子类,并且您在文件中使用类B。如果你只是(像往常一样)在你的内部文件中做:

class B
  ...
end

然后将创建类B作为Object的直接子类。如果您稍后将定义B的文件包含为A的子类,那么此时就会出现矛盾。