Создать плагин или драгоценный камень? - PullRequest
6 голосов
/ 13 января 2009

Обычно я создаю плагин, когда у меня есть модуль, который, как я знаю, мне понадобится снова и снова в других моих проектах, однако они также могут быть упакованы как гемы.

Когда я должен строить драгоценный камень вместо создания плагина? Есть ли критерии для звонка?

Ответы [ 3 ]

9 голосов
/ 14 января 2009

Плагины становятся устаревшими теперь, когда вы можете управлять гемами с помощью оператора "config.gem" в environment.rb. Gems доступны для всей системы (не только в одном приложении) и имеют разные версии в отличие от плагинов.

Недавно я преобразовал все свои плагины в гемы. Легко сделать и оно того стоит.

1 голос
/ 03 февраля 2009

вы можете добавить генераторы в рельсы с помощью драгоценных камней. на самом деле это довольно просто, вы можете просто добавить каталог rails_generators в ваш гем. (Я думаю, что другие имена каталогов будут работать - я не уверен, что rails ищет). пример: http://github.com/remi/rackbox/tree/a21c21667c68d5fd51357e28f0742171e9161e9b/rails_generators

что касается добавления рейк-задач ... мне еще предстоит выяснить, как это сделать: /

на данный момент мои генераторы добавляют require 'myproject/rails/tasks' (или что-то еще) в Rakefile проекта как способ добавления рейк-задач в рельсы из самоцвета.

многие гемы просят вас "загрузить" их в ваш проект rails, например. sudo gem установить огурец cd rails_app ./script/generate cucumber # загрузите огурец в ваше приложение

1 голос
/ 14 января 2009

Рельсы, кажется, движутся в направлении драгоценного камня. Теперь я превратил большинство своих плагинов в драгоценные камни. Драгоценными камнями легче управлять и они лучше вписываются в экосистему Ruby. В любом случае, зачем нам две отдельные системы?

Однако по-прежнему существует проблема с гемами: невозможно добавить грабли в приложение Rails из гема. Вероятно, то же самое относится и к генераторам, хотя я не уверен. Если вы используете их в своем плагине, миграция на гем пока невозможна. Надеюсь, это скоро исправят.

...