Una gem è un pacchetto Ruby riutilizzabile. Crearne una è sorprendentemente semplice: Bundler impalca tutto per te.

bundle gem saluti

Ti genera struttura, test, licenza e il file .gemspec. Il codice va in lib/:

# lib/saluti.rb
module Saluti
  def self.ciao(nome)
    "Ciao, #{nome}!"
  end
end

Poi costruisci e pubblichi:

gem build saluti.gemspec
gem push saluti-0.1.0.gem   # su rubygems.org

I punti chiave: versiona con cura (segui il semantic versioning nel file version.rb), scrivi un README chiaro e aggiungi qualche test. Da quel momento chiunque installa il tuo codice con gem install saluti.

È il modo con cui l'ecosistema Ruby cresce: piccoli mattoni condivisi. La tua prima gem può essere anche solo un'utility che usi in più progetti.