Необходимые знания
Драгоценные камни довольно просты, но с точки зрения документации в течение очень долгого времени существовал огромный пробел. К счастью, это уже не так.
В конечном итоге это не что иное, как файл .gemspec и понимание путей и зависимостей (о которых вам нужно знать только, если вы зависите от других драгоценных камней), хотя люди ожидают, что вы будете следовать определенным правилам.
Лучшее прохождение, которое я видел, это руководства .
Для соглашений у руководств есть хороший список здесь , а стандарт упаковки также действительно хорош.
Дальнейшие мысли
В наши дни, когда я хочу сделать драгоценный камень, я начинаю с Bundler (который я предпочитаю мотыге / новый камень / ювелир / и т. Д.). В этом Railscast рассказывается, как это сделать. Теперь Bundler будет предполагать, что вы знаете все виды вещей (git, bundler, rake), которые я делаю, так что это меня больше не беспокоит, но когда-то это было слишком много.
Простой факт в том, что вам не нужен Bundler (в будущем, если у вас есть зависимости и вы хотите сохранить свой драгоценный камень, тогда это сделает вашу жизнь проще, но сейчас вам это не нужно) , И вам не нужен git или какой-либо контроль версий, если вы еще этого не понимаете (добавьте его в свой список допуска). И вам не нужны rake (это просто CLI для общих задач, но если вы не понимаете всю хрень, которую он делает, вам это не нужно, вы можете напрямую протестировать с помощью бинарного файла rspec, вы можете упаковать свои драгоценные камни напрямую с помощью бинарного файла gem , вы можете сами управлять своим .gemspec, а не делать это для Rake и т. д.).
Хитрость заключается в том, чтобы отделить то, что все эти инструменты делают для вас, от того, что вы действительно хотите, чтобы они делали для вас. Это может быть сложно, когда вы не знаете, как они работают / что они делают, так как они хотят сделать все. Я смог преодолеть это невежество, используя действительно простой инструмент под названием gem this , который немного устарел в прошлый раз, когда я его использовал, но, в конечном счете, настолько прост, насколько вы можете его получить. Вот отличное видео от его автора.