Наличие задачи в вашем Rakefile для создания драгоценного камня для вас подходит в большинстве случаев. Однако я предпочитаю иметь файл gemspec в корне проекта, потому что большинство людей ожидают, что эти настройки будут там, а не похоронены в Rakefile.
Что касается различий, Rakefile собирается запустить команду gem build в своем встроенном gemspec с задачей rake. то есть. rake gem: build или, используя gemspec, вы запускаете команду gem build .gemspec
Например, Jeweler, помощник для создания и управления проектами Rubygem с помощью Github, сохраняет базовую спецификацию в Rakefile, а затем создает файл gemspec, который содержит настройки из .gitignore, а также общие настройки по умолчанию для генерации rdoc и т. Д. 1005 *