2013-08-02 74 views

回答

1

Bundler.require只对每个宝石一个要求声明。这取决于Gem需要来自顶级文件的额外文件。

,根据基于一个standard naming convention到需要为每个宝石的文件:

  • 宝石应使用下划线分隔单词。
  • 当需要时,连字符变为斜线。这用于创建在子目录中添加文件的扩展名Gem(例如,您需要的,即rspec-rails)。

所以,在这种情况下,它会require 'my/plugin',这可能不是你想要的。按照惯例,您的Gem应该用下划线命名为my_plugin,并且其lib目录中应该有一个顶级文件,名为my_plugin.rb,它需要您的Gem中的其他文件。

如果你不能改变宝石的名称,你可以覆盖默认的要求语句这样一行:

gem 'my-plugin', :require => 'my_plugin' 

如果需要需要来自宝石多个文件,您最好将明确的require语句添加到您的应用程序,而不是依靠Bundler.require