gem的共同结构

众所周知,rubygem的常见结构假定存在lib目录。 我注意到,通常在这个目录中有两个项目: gem_name.rbgem_name/目录。 gem_name/目录包含项目的主要来源。 它是应用的核心。 所以,问题是关于gem_name.rb文件。 它代表什么?

它的结构是这样的原因是如果你在lib/目录中有gem_name.rb以外的文件(比如another_file_name.rb ),如果有一个名为another_file_name的gem并且有人确实require another_file_name ,你就有可能导致问题 – 它加载你的文件,而不是其他gem的文件。

如果你的代码足够小,它可以全部适合gem_name.rb ,然后把它放在那里,否则把它放到gem_name/other_file_name.rb

通常,只需要gem_name/目录中的所有内容。 它用于将所有require保存在中央位置,并与实际代码分开