Qu’est-ce que Rake?

En termes simples, que fait Rake? A quoi sert-il? Je comprends que c’est un outil de construction, mais je cherche un peu plus de détails. (Pour un simplet.)

Essayez l’article de Martin Fowler sur Rake pour plus d’informations:

http://martinfowler.com/articles/rake.html

Son préambule est:

Le rake est un langage de construction, dont le but est similaire à la fabrication et à la Comme make et ant, c’est un langage spécifique à un domaine, contrairement à ces deux langages, c’est un DSL interne programmé dans le langage Ruby. Dans cet article, je présente rake et décris des choses intéressantes qui sont ressorties de mon utilisation de rake pour créer ce site Web: des modèles de dépendance, des tâches synthétisées, des routines de génération personnalisées et le débogage du script de génération.

De plus amples informations sont disponibles sur ou liées à la page d’accueil du projet:

http://rake.rubyforge.org/

Ces réponses supposent que vous savez ce qu’est un DSL ou sont familiers avec Make ou Ant. Si ce n’est pas le cas, voici une réponse (peut-être extrêmement simplifiée):

Rake est un outil que vous pouvez utiliser avec des projets Ruby . Il vous permet d’utiliser le code ruby ​​pour définir des “tâches” pouvant être exécutées dans la ligne de commande.

Rake peut être téléchargé et inclus dans des projets Ruby en tant que bijou de rbuy.

Une fois installé, vous définissez des tâches dans un fichier nommé ” Rakefile ” que vous ajoutez à votre projet.

Nous l’appelons un “outil de génération” car Rake est livré avec des bibliothèques qui facilitent les tâches courantes lors du processus de création / déploiement, telles que les opérations de fichiers (création, suppression, changement de nom et déplacement de fichiers), la publication de sites via FTP. / SSH et tests en cours .

Pour plus d’informations, voici la documentation du projet: http://rake.rubyforge.org/

Rake est une implémentation de la programmation déclarative basée sur les dépendances dans le langage de programmation Ruby . Fondamentalement, Rake est à Ruby ce que Make est à C, avec la différence notable, que Make est un DSL externe, tandis que Rake est un DSL interne.

Rake vous permet d’exécuter du code Ruby via un joli api d’espace de noms. Un exemple est rake db: migrer. Vous pouvez exécuter des tâches automatiquement avant et après d’autres tâches. C’est tout.