Common structure of gem
As we all know, the common structure of rubygem assumes presence of lib
directory. I noticed, that generally in 开发者_运维知识库this directory are two items: gem_name.rb
and gem_name/
directory. The gem_name/
directory hold main sources of project. It is heart of application. So, the question is about gem_name.rb
file. What does it stand for?
The reason it's structured like that is if you had files other than gem_name.rb
in the lib/
directory (say another_file_name.rb
), you'd be liable to cause problems if there was a gem with the name another_file_name
and someone did require another_file_name
- it'd load your file, rather than the other gem's file.
If your code is small enough it can all fit into gem_name.rb
, then put it there, otherwise put it into gem_name/other_file_name.rb
.
Typically that just requires everything from the gem_name/
directory that's needed. It's used to keep all the require
s in a central location and separate from the actual code
精彩评论