Ruby: Como escrever uma jóia? [fechadas]


160

Eu gostaria de escrever um pacote para Ruby e disponibilizá-lo como uma jóia.
Quais são as ferramentas, etapas e armadilhas?
Existem bons tutoriais, screencasts, etc., que o ajudaram a aprender como fazê-lo?

Respostas:


216

Os Guias do Rubygems.org são um dos melhores recursos para escrever sua própria joia.

Se você estiver usando o Bundler no seu aplicativo, consulte o guia de Ryan Bigg para o Desenvolvimento de um RubyGem usando o Bundler e o Railscast na criação de gemas com o Bundler .

Se você estiver interessado em ferramentas para ajudá-lo a escrever gemas:

Alguns tutoriais / guias:


3
gem buildé fornecido pelo próprio RubyGems. Toda a gema Gemcutter (e logo o RubyGems propriamente dito) permite fazer o envio de um RubyGem usando a API. gemcutter.org/pages/gem_docs gemcutter.org/pages/api_docs
qrush

Obrigado, editei a resposta.
Jack Chu

6

É assim que costumo criar e liberar Gems:

  1. Inscreva-se em https://github.com
  2. Inscreva-se em https://rubygems.org
  3. $ gem install ore rubygems-tasks rdoc rspec
  4. $ mine awesome_gem
  5. cd awesome_gem/e edite o README.rdoce awesome_gem.gemspec, escreva o código lib/awesome_gem/e adicione os testes do RSpec specs/.
  6. quando estiver pronto para lançar, atualize o ChangeLog.rdocarquivo, execute rake spece rake rerdoc, abra html/index.htmle verifique novamente se há erros de digitação.
  7. rake release
  8. (Opcional) envie um link e uma explicação da sua nova gema incrível para http://rubyflow.com

Sente-se e desfrute da glória da sua primeira jóia. :)


6

Você não precisa começar a escrever uma gema, basta escrever um código, escrever alguns testes, usá-lo como quiser e, quando estiver satisfeito, use a gema this para gerar o Rakefile relevante.

Ajuda se você seguir as abordagens adotadas por outras gems (tenha um diretório lib, evite nomear arquivos de maneiras que possam colidir com outras gems, escreva alguns testes, se puder, tenha um leia-me), mas não é necessário.

Depois de ter algo que deseja compartilhar, coloque-o no github e empurre-o para gemcutter .

Não pense demais, não use enxadas ou outras ferramentas de exagero, divirta-se, não faça nada que eu não faria.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.