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/ 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
Typically that just requires everything from the
gem_name/ directory that's needed. It's used to keep all the
requires in a central location and separate from the actual code