Чтобы создать новый камень Ruby для использования с Rails 3, следует использовать Jeweler или следует ли использовать Bundler's встроенный скелет драгоценного камня, чтобы создать базовый камень? Каковы различия, которые имеют значение?
Как создать новый камень Ruby?
Ответ 1
Использовать Bundler
Из командной строки:
bundle gem your_new_gem
Это создаст каталог с именем your_new_gem
с базовым набором файлов и структурой каталогов, которые теперь считаются лучшими. Это быстро, легко и отличное место для начала.
Ответ 2
Создание драгоценного камня не так уж сложно, и я бы посоветовал попытаться построить драгоценный камень с нуля, без каких-либо инструментов. После того, как вы знаете, что связано (создавая gemspec, строя и подталкивая его к rubygems.org), вы можете использовать инструменты для ускорения процесса. Я предполагаю, что вы не будете, потому что создание драгоценного камня вряд ли будет проблемой.
Ответ 3
Я бы пошел с Ювелиром. Скелет Бундлера только даст вам основы. У Jeweler есть больше возможностей для работы и много полезных задач рейка для управления версиями, нажатия на github, создания gemspec, построения и установки.
Если вы работаете с двигателями Rails 3, у меня есть вилка Jeweler (определенно работа в процессе), которая будет генерировать приложение skelaton и включать файл движка. Вам просто нужно запустить команду jeweler с --rails3-engine
в качестве опции. Вот вам вилка, если вам интересно:
https://github.com/johnmcaliley/jeweler
Ответ 4
Я бы рекомендовал использовать встроенную команду bundler.
bundle gem your_gem_name
Есть несколько правил, которые следует соблюдать при создании драгоценного камня. Такие, как соглашения об именах и правила управления версиями. Недавно я написал сообщение о создании драгоценных камней в блоге netguru. Я думаю, вы найдете то, что вам нужно.
https://netguru.co/blog/posts/creating-a-gem-a-step-by-step-tutorial
Надеюсь, что это поможет.
Ответ 5
Вот альтернатива, на которую стоит обратить внимание: ore
Bundler дает вам один шаблон для рубиновых драгоценных камней, тогда как руда имеет несколько встроенных шаблонов, а также возможность создавать свои собственные. Он также поддерживает Git, SVN (urgh) и Mercurial.