Ruby: Jak napisać gem? [Zamknięte]

160

Chciałbym napisać pakiet dla Rubiego i udostępnić go jako klejnot.
Jakie są narzędzia, kroki i pułapki?
Czy są jakieś dobre samouczki, screencasty itp., Które pomogły Ci się nauczyć, jak to zrobić?

glmxndr
źródło

Odpowiedzi:

216

Przewodniki Rubygems.org są jednym z najlepszych zasobów do pisania własnych klejnotów.

Jeśli używasz Bundlera w swojej aplikacji, możesz zajrzeć do przewodnika Ryana Bigga o tworzeniu RubyGem przy użyciu Bundlera i Railscast na temat tworzenia klejnotów za pomocą Bundlera .

Jeśli interesują Cię narzędzia, które pomogą Ci pisać klejnoty:

Niektóre samouczki / przewodniki:

Jack Chu
źródło
3
gem buildjest dostarczany przez sam RubyGems. Wszystko, na co pozwala Gemcutter (a wkrótce także RubyGems) pozwala na wypchnięcie RubyGem za pomocą API. gemcutter.org/pages/gem_docs gemcutter.org/pages/api_docs
qrush
Dzięki, zredagowałem odpowiedź.
Jack Chu,
6

Oto jak zazwyczaj tworzę i wypuszczam klejnoty:

  1. Zarejestruj się na https://github.com
  2. Zarejestruj się w https://rubygems.org
  3. $ gem install ore rubygems-tasks rdoc rspec
  4. $ mine awesome_gem
  5. cd awesome_gem/i edytuj README.rdoci awesome_gem.gemspec, napisz kod lib/awesome_gem/i dodaj testy RSpec w specs/.
  6. kiedy będziesz gotowy do wydania, zaktualizuj ChangeLog.rdocplik, uruchom rake speci rake rerdocotwórz html/index.htmli dwukrotnie sprawdź, czy nie ma literówek.
  7. rake release
  8. (Opcjonalnie) prześlij link i wyjaśnienie swojego nowego niesamowitego klejnotu na http://rubyflow.com

Usiądź wygodnie i wygrzewaj się w chwale swojego pierwszego klejnotu. :)

postmodernistyczny
źródło
6

Nie musisz zaczynać pisania klejnotu, po prostu napisz kod, napisz kilka testów, użyj go, jak chcesz, a kiedy będziesz z nim zadowolony, użyj klejnotu, aby wygenerować odpowiedni plik Rakefile.

Pomaga, jeśli będziesz trzymać się podejść innych klejnotów (miej katalog lib, unikaj nazywania plików w sposób, który może kolidować z innymi klejnotami, napisz kilka testów, jeśli możesz, miej plik readme), ale nie jest to konieczne.

Gdy już będziesz mieć coś, czym chcesz się podzielić, umieść to na githubie i prześlij do Gemcutter .

Nie myśl nad tym zbyt wiele, nie używaj motyki ani innych narzędzi do przesady, baw się dobrze, nie rób niczego, czego bym nie zrobił.

cwninja
źródło