Structure d’un gem
Fichiers et gemspec
Structure d’un gem est une leçon Ruby Academy gratuite sur CoddyKit. Ceci est la leçon 1 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Ruby Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Ruby Academy comprend 4 leçons au total.
Qu’est-ce qu’une gemme ?
Une gemme est une bibliothèque ou une application Ruby empaquetée qui peut être installée, versionnée et partagée via RubyGems. Presque tous les outils Ruby que vous utilisez sont des gemmes.
- Une gemme regroupe du code, des métadonnées et des dépendances.
- Les métadonnées se trouvent dans un fichier de spécification de gemme.
- Des outils comme
bundleretgemgèrent les gemmes.
Génération d’une ossature
Le démarrage le plus rapide consiste à exécuter bundle gem mygem. Cette commande génère l’organisation standard des répertoires, un fichier de spécification de gemme, un dossier de tests, un fichier README et une licence. Il ne vous reste ensuite qu’à ajouter le code.
L’organisation standard
Une gemme typique nommée mygem se présente ainsi :
lib/mygem.rble fichier d’entrée.lib/mygem/les fichiers de code source supplémentaires.lib/mygem/version.rbla constante de version.mygem.gemspecles métadonnées.test/ouspec/les tests.README.mdet un fichier de licence.
Le fichier d’entrée
lib/mygem.rb est chargé lorsqu’une personne exécute require 'mygem'. Il charge généralement le fichier de version et le reste de la bibliothèque, puis définit le module de niveau supérieur.
module Mygem
def self.greet(name)
"Hello, " + name
end
end
puts Mygem.greet("world")Le fichier de version
Conserver la version dans son propre fichier permet au fichier de spécification de gemme comme au code de la lire. La convention consiste à utiliser une constante VERSION dans le module de la gemme.
module Mygem
VERSION = "0.1.0"
end
puts "Current version: " + Mygem::VERSIONQu’est-ce qu’un fichier de spécification de gemme ?
Le fichier de spécification de gemme est un fichier Ruby qui décrit la gemme : son nom, sa version, son auteur, son résumé, ses fichiers et ses dépendances. RubyGems le lit pour construire et publier le paquet.
Il s’agit de Ruby ordinaire, vous pouvez donc calculer des valeurs, mais gardez-le simple et déclaratif.
Un fichier de spécification de gemme minimal
Les champs essentiels sont le nom, la version, les auteurs, le résumé et les fichiers. Voici la structure, écrite en Ruby ordinaire que vous pourriez placer dans mygem.gemspec.
require "ostruct"
spec = OpenStruct.new
spec.name = "mygem"
spec.version = "0.1.0"
spec.authors = ["Your Name"]
spec.summary = "A tiny example gem"
puts spec.name + " " + spec.versionÉnumération des fichiers
Le fichier de spécification de gemme doit déclarer les fichiers inclus dans la gemme. De nombreux fichiers de spécification demandent à git la liste des fichiers suivis afin de ne rien oublier :
spec.files = Dir['lib/**/*.rb'] + ['README.md']
Seuls les fichiers répertoriés sont empaquetés ; un fichier oublié entraîne donc une installation défectueuse.
Déclaration des dépendances
Deux types de dépendances sont indiqués dans le fichier de spécification de gemme :
add_dependencypour les besoins à l’exécution que les utilisateurs doivent installer.add_development_dependencypour les outils utilisés uniquement pendant le développement, comme les cadres de test.
Utilisez des contraintes de version telles que '~> 1.2' pour rester compatible.
Version de Ruby requise
Définissez spec.required_ruby_version afin que les utilisateurs d’une version de Ruby trop ancienne obtiennent une erreur claire plutôt qu’un plantage déroutant. Renseignez également homepage, license et metadata pour obtenir une gemme soignée.
required = ">= 3.0.0"
current = RUBY_VERSION
puts "Requires Ruby " + required
puts "Running Ruby " + currentConstruction de la gemme
Une fois le fichier de spécification de gemme prêt, gem build mygem.gemspec produit un fichier .gem. Vous pouvez l’installer localement avec gem install ./mygem-0.1.0.gem pour le tester avant sa publication.
Vérification rapide
Vérifiez votre compréhension de la structure d’une gemme.
Récapitulatif : structure d’une gemme
Vous avez appris comment une gemme est organisée :
bundle gemgénère l’ossature.lib/mygem.rbest le point d’entrée.- La version se trouve dans son propre fichier.
- Le fichier de spécification de gemme contient les métadonnées, les fichiers et les dépendances.
gem buildl’empaquette.
Vous allez maintenant organiser le code réel à l’intérieur de la gemme.
Apprends Ruby avec un tuteur IA — gratuit
Écris et exécute du vrai code dans ton navigateur, obtiens de l'aide instantanée d'un tuteur IA disponible 24h/24, et reprends là où tu t'es arrêté sur le web ou dans l'app.
- Cours
- 29
- Leçons
- 109
Questions Fréquemment Posées
La leçon « Structure d’un gem » est-elle gratuite ?
Oui — le texte complet de « Structure d’un gem » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Ruby Academy, passe à CoddyKit PRO. Le cours Ruby Academy comprend 4 leçons au total.
Qu'est-ce que j'apprendrai dans « Structure d’un gem » ?
Fichiers et gemspec Tu pratiques Ruby Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.
Dois-je avoir de l'expérience pour commencer Ruby Academy ?
Aucune expérience préalable n'est requise. Ruby Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 1 sur 4.
Combien de temps prend la leçon « Structure d’un gem » ?
La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.
Peux-tu écrire et exécuter du code dans cette leçon Ruby Academy ?
Oui. Chaque leçon Ruby Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.
Toutes les leçons de ce cours
- Structure d’un gem
- Écrire le code
- Tests et gestion des versions
- Publier sur RubyGems