Причина, по которой он так структурирован, заключается в том, что если у вас есть файлы, отличные от gem_name.rb
, в каталоге lib/
(скажем, another_file_name.rb
), вы будете способны вызывать проблемы, если существует драгоценный камень с именем another_file_name
а кто-то сделал require another_file_name
- он загрузит ваш файл, а не файл другого драгоценного камня.
Если ваш код достаточно мал, он может вписаться в gem_name.rb
, затем поместите его туда, в противном случае поместите в gem_name/other_file_name.rb
.