在几个文件中打破ruby模块

Kap*_*pil 26 ruby module ruby-on-rails mixins

我有一个ruby模块,应该包含很多类

module A
  class First
    #somemethods
  end

  class Second
    #somemethods
  end

  class Third
    #somemethods
  end
end
Run Code Online (Sandbox Code Playgroud)

我想在rails中做的是将这些类拆分成几个文件,将这个庞大的模块拆分成几个相关文件的最佳做法是什么?

Vic*_*gin 35

一种方法是提出这样的目录结构:

(root dir)
??? a
?   ??? first.rb
?   ??? second.rb
?   ??? third.rb
??? a.rb
Run Code Online (Sandbox Code Playgroud)

文件内容:

# a.rb
require_relative './a/first.rb'
require_relative './a/second.rb'
require_relative './a/third.rb'

module A
end


# a/first.rb
module A
  class First
    # ...
  end
end


# a/second.rb
module A
  class Second
    # ...
  end
end


# a/third.rb
module A
  class Third
    # ...
  end
end
Run Code Online (Sandbox Code Playgroud)