Руби: Как написать драгоценный камень? [закрыто]


160

Я хотел бы написать пакет для Ruby и сделать его доступным как драгоценный камень.
Каковы инструменты, шаги и подводные камни?
Есть ли хорошие уроки, скринкасты и т. Д., Которые помогли вам научиться делать это?

Ответы:


216

Руководства Rubygems.org - один из лучших ресурсов для написания вашего собственного драгоценного камня.

Если вы используете Bundler в своем приложении, вы можете обратиться к руководству Райана Бигга по разработке RubyGem с использованием Bundler и Railscast по созданию драгоценных камней с помощью Bundler .

Если вы заинтересованы в инструментах, которые помогут вам писать драгоценные камни:

Некоторые учебники / руководства:


3
gem buildпредоставляется самой RubyGems. Весь гем Gemcutter (и вскоре, собственно, RubyGems) позволяет вам сделать это, используя RubyGem с помощью API. gemcutter.org/pages/gem_docs gemcutter.org/pages/api_docs
qrush

Спасибо, я отредактировал ответ.
Джек Чу

6

Вот как я обычно создаю и выпускаю Gems:

  1. Зарегистрируйтесь на https://github.com
  2. Зарегистрируйтесь на https://rubygems.org
  3. $ gem install ore rubygems-tasks rdoc rspec
  4. $ mine awesome_gem
  5. cd awesome_gem/и отредактируйте README.rdocи awesome_gem.gemspec, напишите код lib/awesome_gem/и добавьте тесты RSpec в specs/.
  6. когда вы будете готовы выпустить, обновите ChangeLog.rdocфайл, запустите rake specи rake rerdoc, откройте html/index.htmlи перепроверьте все опечатки.
  7. rake release
  8. (Необязательно) отправьте ссылку и объяснение вашей новой удивительной жемчужины на http://rubyflow.com

Расслабьтесь и погрейтесь во славе вашего первого драгоценного камня. :)


6

Вам не нужно начинать писать гем, просто написать код, написать несколько тестов, использовать его так, как вы хотите, и, когда вы довольны им, используйте gem this для генерации соответствующего файла Rakefile.

Это помогает, если вы придерживаетесь подходов, используемых другими гемами (иметь каталог lib, избегать именования файлов способами, которые могут конфликтовать с другими гемами, написать несколько тестов, если можете, иметь readme), но это не обязательно.

Когда у вас есть что-то, чем вы хотите поделиться, поместите это на github и отправьте на gemcutter .

Не переоценивайте это, не используйте мотыгу или другие инструменты излишнего веселья, веселитесь, не делайте ничего, что я бы не делал

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.