Ruby for Newbies Travailler avec des pierres précieuses

Ruby est l’un des langages les plus utilisés sur le Web. Nous avons commencé ici une nouvelle session sur Nettuts + qui vous présentera Ruby, ainsi que les formidables cadres et outils associés au développement de Ruby. Aujourd'hui, nous allons examiner le système d'emballage génial fourni par Ruby pour la distribution de programmes et de bibliothèques: Gems.


Voir le Screencast

Étape 1: Que sont les pierres précieuses?

C'est assez simple, vraiment. Vous pouvez penser à Ruby Gem en tant que bibliothèque ou plug-in. C'est une fonctionnalité que vous installerez pour répondre à un besoin spécifique. Si cela semble vague, voici quelques problèmes pratiques à résoudre:

  • Besoin d'interface avec Amazon S3?
  • Vous voulez un cadre REST quick-n-easy?
  • Besoin d'envoyer des emails?
  • Voulez-vous configurer un serveur Web?
  • Besoin d'un framework de test (ou trois)?
  • Vouloir convertir Markdown en HTML?

Voilà quelques-unes des choses que vous pouvez faire avec des pierres précieuses.

En bref, il y a un petit bijou pour ça.


Span 2: Installation de la bibliothèque RubyGems

Avant de pouvoir installer et utiliser des gems, nous devons installer la bibliothèque RubyGems. Bien sûr, vous devez d'abord installer Ruby, mais vous devriez déjà l'avoir..

Si vous utilisez Ruby 1.9. * (Ce que nous utilisons dans cette série), vous n'avez pas à vous soucier de l'installation de RubyGems; il est intégré. Si vous avez décidé de vous en tenir à Ruby 1.8. *, ce n’est pas si difficile à installer. Rendez-vous simplement sur la page de téléchargement de RubyGems, téléchargez le TAR ou le ZIP, ouvrez-le et lancez ruby setup.rb dans le terminal de ce dossier. Vous aurez peut-être besoin de privilèges administrateur pour le faire (sudo sur les systèmes Unix, démarrez la ligne de commande avec "Exécuter en tant qu’administrateur" sous Windows). Ça va te préparer.

Si vous pensez que RubyGems est peut-être déjà installé, lancez gem -v pour obtenir le numéro de version. La dernière version est 1.6.2. Si vous souhaitez mettre à niveau, exécutez gem update --system. Encore une fois, vous aurez peut-être besoin de privilèges d'administrateur. Je devrais mentionner que si vous êtes sous Windows et que vous avez installé Ruby via RubyInstaller, vous avez RubyGems installé.


Étape 3: Installation d'une gemme

Donc, maintenant que vous avez la bibliothèque RubyGems installée, vous pouvez l’utiliser pour installer les gemmes que vous voulez. Comment est-ce que tu fais ça? Encore une fois, c'est assez simple. Le plus difficile est de trouver le joyau que vous souhaitez utiliser. souvent, vous pouvez simplement google pour la fonctionnalité que vous recherchez. Une fois que vous avez trouvé la gemme, installez-la comme ceci:

gem installer GEM_NAME

Cependant, il est important de faire attention à la documentation de la gemme. Il est possible que vous deviez ajouter certains arguments à cette commande. cependant, dans la plupart des cas, cela devrait vous aider à traverser.

Encore une remarque sur l’installation de gems: vous remarquerez peut-être que la documentation d’un gem vous indique d’utiliser sudo lors de l'installation. Si vous utilisez un Mac et utilisez RVM (comme vous devriez le faire :)), laissez simplement sudo de. Son utilisation installera la gemme pour tous les utilisateurs de l'ordinateur, ce qui peut poser des problèmes avec les multiples environnements Ruby que vous pourriez avoir avec RVM..

Au cours de cette série, nous utiliserons plusieurs pierres précieuses de Ruby pour que vous puissiez voir comment elles fonctionneront dans un "vrai" projet. Si vous voulez en installer quelques-uns maintenant, essayez le joyau Markdown (maruku) ou Amazon S3 (aws-s3)..

gem installer maruku gem installer aws-s3

Étape 4: Utiliser des pierres précieuses

Donc, vous avez vos gemmes installées; et maintenant? Eh bien, utilisez-les, bien sûr! Vous pouvez utiliser des gemmes de deux manières. Certains sont des programmes ruby ​​autonomes que vous exécuterez (le plus souvent à partir de la ligne de commande) pour faire quelque chose. Le joyau Rails en est un excellent exemple. Vous courez rails nouveau PROJECT_NAME à partir de la ligne de commande pour générer un nouveau projet de rails; ensuite, vous l'utiliserez à d'autres moments pour générer des modèles, des contrôleurs, etc. Ensuite, il existe des gemmes que vous utiliserez uniquement à l'intérieur de vos propres projets, comme la gemme Amazon S3. Ce n'est pas très bon en soi, mais c'est très utile en conjonction avec votre code. Si vous souhaitez utiliser une gemme à partir de votre code, vous devez d'abord l'exiger. Cela se fait généralement en haut du fichier.

nécessite 'rubygems' # uniquement nécessaire sur Ruby 1.8 nécessite 'aws / s3' # la pierre précieuse S3

Je ne crois pas avoir discuté exiger avant; Ruby ne charge pas tout par défaut, vous pouvez donc utiliser exiger pour charger des bibliothèques supplémentaires que vous souhaitez utiliser. Nous verrons plus de cela au fur et à mesure.

Enfin, certaines pierres précieuses font les deux. Le joyau de maruku convertira Markdown en HTML. Je l'utilise depuis la ligne de commande tout le temps:

Maruku doc.markdown

Il convertira le document Markdown en HTML. Cependant, vous pouvez aussi l'utiliser depuis votre code:

require 'maruku' str = "#Ceci est un titre \ n \ n * certains \ n * listes \ n * éléments" md = Maruku.new (str) md.to_html_document

Étape 5: Utiliser Bundler

Une fois que vous avez créé un projet, vous pouvez le partager ou l’utiliser sur un autre ordinateur. Cependant, toute personne qui l'exécutera devra disposer de tous les joyaux appropriés. Maintenant, vous pouvez simplifier le processus d'installation avec un projet appelé Bundler. Bundler peut faire beaucoup, mais nous allons simplement gratter la surface pour le moment..

Tout d’abord, Bundler est un joyau en soi; vous pouvez l'installer en exécutant Gem Installer Bundler.

Ensuite, à la racine de votre projet, créez un fichier nommé Gemfile. Cela déclarera quels joyaux vous avez besoin pour ce projet.

Les premières lignes de votre Gemfile indiqueront à Bundler où aller chercher vos gemmes. Les pierres précieuses vivent dans des référentiels en ligne, il faudra donc savoir où les obtenir. La plupart du temps, utiliser simplement rubygems.org comme source suffira, mais vous pouvez avoir plusieurs sources si vous le souhaitez..

source "http; // rubygems.org"

Ensuite, listez simplement vos bijoux comme ceci:

gem "rails", "3.0.1" gem "maruku" gem "aws-s3",: require => "aws / s3"

Notez que nous pouvons dire de quelle version d'une gemme nous avons besoin si nous avons besoin d'une version spécifique. Notez également le hachage (nous avons laissé de côté les crochets car nous pouvons dans ce cas) sur le troisième joyau. Cela indique à Bundler comment nous devons exiger la gemme Cela n'est nécessaire que si deux choses sont vraies: 1) une gemme est requise avec un nom différent de celui avec lequel elle est installée, et 2) nous utilisons Bundler pour demander les gemmes..

Si vous avez beaucoup de gemmes, vous pouvez utiliser Bundler pour les exiger toutes dans votre code. Faites juste ceci:

nécessite 'bundler / setup' Bundler.require (: default)

Cela va charger tous ces joyaux. Bien sûr, cela est beaucoup plus utile lorsque vous utilisez certaines des configurations avancées de Bundler..


Conclusion: bientôt disponible?

La dernière fois, je vous ai demandé ce que vous souhaitiez voir, lecteurs / observateurs. Vous avez clairement dit "Web stuff!" Prochaine leçon, nous allons passer à l’utilisation du simple cadre Sinatra pour créer un site Web. Jusque là!