`require`ing公共代码库中的文件

时间:2014-12-06 17:19:47

标签: ruby require

我是编写大型Ruby项目的新手(目前只有mods和应用程序脚本)。我已经在项目根目录中创建了一些项目,在子文件夹中创建了其他文件,包括"测试"夹。

到目前为止,我已尝试过:

  • 将所有文件夹和子文件夹添加到RubyMine中的加载路径。
  • 声明所有文件都属于同一模块。

我已经考虑过使用require_relative来加载所有需要的文件,但它看起来很无聊且非常简洁......有没有更好的方法?

1 个答案:

答案 0 :(得分:2)

以下是典型文件夹结构,模块以及如何将所有内容包含到库中的示例。然后,您只需要require 'lib',无论您想要在哪个库中使用。

# Root folder structure of project
lib.rb
./lib/a.rb
./lib/b.rb
./lib/b/c.rb

# lib.rb
require 'lib/a'
require 'lib/b'

module Lib
end

# ./lib/a.rb
module Lib
  module A
  end
end

# ./lib/b.rb
require 'lib/b/c'
module Lib    
  module B
  end
end

# ./lib/b/c.rb
module Lib
  module B
    module C
    end
  end
end