Cos’è una gemma? – RubyGems Guide
Il Ottobre 24, 2021 da adminSvela il mistero dietro a cosa c’è in un RubyGem.
Struttura di un gem
Ogni gem ha un nome, una versione e una piattaforma. Per esempio, la gemma theerake ha una versione 0.8.7
(da maggio 2009). La piattaforma di Rake è ruby
, il che significa che funziona su qualsiasi piattaforma su cui Rubyruns funziona.
Le piattaforme sono basate sull’architettura della CPU, sul tipo di sistema operativo e a volte sulla versione del sistema operativo. Gli esempi includono “x86-mingw32” o “java”. La piattaforma indica che la gemma funziona solo con un rubino costruito per la stessa piattaforma. RubyGems scaricherà automaticamente la versione corretta per la tua piattaforma. Vedi gem help platform
per tutti i dettagli.
All’interno delle gemme ci sono i seguenti componenti:
- Codice (inclusi i test e le utilità di supporto)
- Documentazione
- gemspec
Ogni gem segue la stessa struttura standard di organizzazione del codice:
% tree freewillfreewill/├── bin/│ └── freewill├── lib/│ └── freewill.rb├── test/│ └── test_freewill.rb├── README├── Rakefile└── freewill.gemspec
Qui, puoi vedere i componenti principali di una gemma:
- La directory
lib
contiene il codice per la gemma - La directory
test
ospec
contiene i test, a seconda di quale testframework lo sviluppatore usa - Una gemma di solito ha un
Rakefile
, che il programma dierake usa per automatizzare i test, generare codice ed eseguire altri compiti. - Questa gemma include anche un file eseguibile nella directory
bin
, che sarà caricato nelPATH
dell’utente quando la gemma è installata. - La documentazione è solitamente inclusa nel
README
e in linea con il codice.Quando installi una gemma, la documentazione viene generata automaticamente per te.La maggior parte delle gemme include la documentazione RDoc, ma alcune usano invece i documenti YARD. - Il pezzo finale è il gemspec, che contiene informazioni sulla gemma.I file della gemma, le informazioni sui test, la piattaforma, il numero di versione e altro ancora sono tutti esposti qui insieme all’email e al nome dell’autore.
Più informazioni sul file gemspec
Costruisci il tuo gem
Il Gemspec
Il gemspec specifica le informazioni su un gem come il suo nome, versione, descrizione, autori e homepage.
Ecco un esempio di un file gemspec. Puoi saperne di più in come fare agem.
% cat freewill.gemspecGem::Specification.new do |s| s.name = 'freewill' s.version = '1.0.0' s.summary = "Freewill!" s.description = "I will choose Freewill!" s.authors = s.email = '[email protected]' s.homepage = 'http://example.com/freewill' s.files = end
Lascia un commento