Штриховая версия предназначена для расширений в других платформах, например rspec-rails
, а подчеркивание - для части обычного имени гема, и оно должно быть указано в ваших классах.
Так что если у вас есть гем с именем foo_bar
, класс / модуль должен иметь имя FooBar
.Если этот драгоценный камень должен иметь расширение рельсов, которое поставляется как другой драгоценный камень, он должен называться foo_bar-rails
, а модуль должен называться FooBar::Rails
, и он должен быть указан как require "foo_bar/rails"
Это соглашение такжето, что пытается потребовать Bundler.
Правда, это соглашение не всегда соблюдается.jquery_rails
на самом деле должно быть jquery-rails
, а factory_girl_rails
должно называться factory_girl-rails
.Но, эй, не все идеально.
Документы RubyGems для конвенций: