Qu’est-ce qu’une gemme ? – RubyGems Guides
On octobre 24, 2021 by adminDéballez le mystère derrière ce que contient une RubyGem.
Structure d’une gemme
Chaque gemme a un nom, une version et une plateforme. Par exemple, la gemme therake a une version 0.8.7
(de mai,2009). La plate-forme de Rake est ruby
, ce qui signifie qu’il fonctionne sur n’importe quelle plate-forme sur laquelle Rubyruns.
Les plates-formes sont basées sur l’architecture du processeur, le type de système d’exploitation et parfois la version du système d’exploitation. Les exemples incluent « x86-mingw32 » ou « java ». La plateforme indique que la gemme ne fonctionne qu’avec un ruby construit pour la même plateforme. RubyGems téléchargera automatiquement la version correcte pourvotre plateforme. Voir gem help platform
pour tous les détails.
À l’intérieur des gemmes se trouvent les composants suivants :
- Code (y compris les tests et les utilitaires de support)
- Documentation
- gemspec
Chaque gemme suit la même structure standard d’organisation du code :
% tree freewillfreewill/├── bin/│ └── freewill├── lib/│ └── freewill.rb├── test/│ └── test_freewill.rb├── README├── Rakefile└── freewill.gemspec
Vous pouvez voir ici les principaux composants d’une gemme :
- Le répertoire
lib
contient le code de la gem - Le répertoire
test
ouspec
contient les tests, selon le cadre de test utilisé par le développeur - Une gem possède généralement un
Rakefile
, que le programme Theake utilise pour automatiser les tests, générer du code et effectuer d’autres tâches. - Cette gem comprend également un fichier exécutable dans le répertoire
bin
, qui sera chargé dans lePATH
de l’utilisateur lorsque la gem estinstallée. - La documentation est généralement incluse dans le
README
et en ligne avec le code.Lorsque vous installez une gemme, la documentation est générée automatiquement pour vous.La plupart des gemmes incluent la documentation RDoc,mais certaines utilisent les docs YARD à la place. - La dernière pièce est la gemspec, qui contient des informations sur la gemme.Les fichiers de la gemme, les informations de test, la plate-forme, le numéro de version et plus encore sont touslaidés ici avec l’email et le nom de l’auteur.
Plus d’informations sur le fichier gemspec
Construire votre propre gem
Le Gemspec
Le gemspec spécifie les informations sur une gem telles que son nom, sa version,sa description, ses auteurs et sa page d’accueil.
Voici un exemple de fichier gemspec. Vous pouvez en savoir plus dans comment faire une 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
.
Laisser un commentaire