众所周知,rubygem的通用结构假定存在lib
目录。我注意到,通常在这个目录中有两个项目:gem_name.rb
和gem_name/
目录。 gem_name/
目录包含项目的主要来源。它是应用的核心。所以,问题是关于gem_name.rb
文件。它代表什么?
答案 0 :(得分:2)
它结构化的原因是如果你在gem_name.rb
目录中有lib/
以外的文件(比如说another_file_name.rb
),如果有{...}},你就有可能导致问题名为another_file_name
且有人require another_file_name
的宝石 - 它会加载您的文件,而不是其他宝石的文件。
如果您的代码足够小,它可以全部适合gem_name.rb
,然后将其放在那里,否则将其放入gem_name/other_file_name.rb
。
答案 1 :(得分:1)
通常,只需要gem_name/
目录中所需的所有内容。它用于将所有require
保留在中心位置,并与实际代码分开