Если ваш драгоценный камень не работает с Bundler из коробки, заявив:
gem 'mygem'
Тогда вы должны объяснить в документации, почему.Некоторые драгоценные камни по неразрешимым техническим причинам требуют загрузки в определенные файлы или рекомендуют их в некоторых случаях.Сам Bundler является одним из таких драгоценных камней:
require 'bundler/setup'
Где он не только загрузит Bundler, но и запустит настройку среды Bundler и импортирует настройки Gemfile
.
Обычно ваш гем должен иметьфайл основной библиотеки с тем же именем, что и сам гем, и который заботится о загрузке всех зависимостей.
Например, mygem
выглядит так:
mygem.rb
mygem/some_module.rb
mygem/other_module.rb
Где основной mygem
выглядит следующим образом:
module MyGem
# ...
end
require_relative './mygem/some_module'
require_relative './mygem/other_module'
Вызовы require
упорядочены таким образом, чтобы все зависимости должным образом учитывались.
Если у вас есть модуль, который имеет другие собственные зависимости,шаблон повторяется, как в mygem/submodule.rb
:
module MyGem::Submodule
# ...
end
require_relative './submodule/something'