Ruby Academy · Leçon

Structure d’un gem

Fichiers et gemspec

Leçon 1 sur 413 étapes

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 bundler et gem gè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.rb le fichier d’entrée.
  • lib/mygem/ les fichiers de code source supplémentaires.
  • lib/mygem/version.rb la constante de version.
  • mygem.gemspec les métadonnées.
  • test/ ou spec/ les tests.
  • README.md et 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::VERSION

Qu’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_dependency pour les besoins à l’exécution que les utilisateurs doivent installer.
  • add_development_dependency pour 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 " + current

Construction 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 gem génère l’ossature.
  • lib/mygem.rb est 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 build l’empaquette.

Vous allez maintenant organiser le code réel à l’intérieur de la gemme.

Gratuit pour commencer

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

  1. Structure d’un gem
  2. Écrire le code
  3. Tests et gestion des versions
  4. Publier sur RubyGems
← Retour à Ruby Academy