Créé le 09 Dec 2022 - Mis à jour le 04 Jul 2023 - Créé par Fabien Berthoux - rubyrake
Rake est un outil de construction open source qui est utilisé pour automatiser des tâches répétitives telles que la compilation, l'installation ou le déploiement. Les tâches Rake sont définies dans des fichiers de tâches appelés Rakefiles et sont normalement exécutées à l'aide de la commande "rake". Rakefournit un mécanisme pour exécuter des tâches Rake à l'intérieur d'autres tâches Rake. Cela permet aux développeurs de construire des workflows complexes à l'intérieur de leur projet qui peuvent être exécutés avec une seule commande. Pour exécuter des tâches Rake à l'intérieur d'autres tâches Rake, vous pouvez utiliser la méthode "invoke" de Rake. Cette méthode prend en argument le nom d'une tâche et l'exécute à l'intérieur de la tâche actuelle. Par exemple, le code suivant exécutera la tâche "test" à l'intérieur de la tâche "build":
task :build do
# Do some build stuff
invoke :test
end
Il est également possible d'utiliser la méthode "invoke_if_defined" pour exécuter une tâche seulement si elle existe. Par exemple, le code suivant exécutera la tâche "deploy" si elle existe:
task :build do
# Do some build stuff
invoke_if_defined :deploy
end
Il est important de noter que l'utilisation de la méthode "invoke" ou "invoke_if_defined" peut entraîner des effets secondaires indésirables si la tâche invoquée modifie l'environnement de la tâche actuelle. Par conséquent, il est conseillé d'utiliser ces méthodes avec prudence.
Il est possible de passer des arguments à une tâche Rake invoquée en utilisant la méthode "invoke" et en spécifiant les arguments comme un tableau. Par exemple, le code suivant exécutera la tâche "test" avec les arguments "--verbose" et "--coverage":
task :build do
# Do some build stuff
invoke :test, ["--verbose", "--coverage"]
end
Il est possible d'exécuter plusieurs tâches Rake en une seule fois en utilisant la méthode "multitask". Cette méthode prend en argument un tableau de noms de tâches et les exécute à l'intérieur de la tâche actuelle. Par exemple, le code suivant exécutera les tâches "test" et "deploy" à l'intérieur de la tâche "build":
task :build do
# Do some build stuff
multitask [:test, :deploy]
end
Il est possible d'exécuter une tâche Rake avec un délai en utilisant la méthode "delay". Cette méthode prend en argument le nom d'une tâche et le délai en millisecondes et exécute la tâche après le délai spécifié. Par exemple, le code suivant exécutera la tâche "test" après un délai de 10 secondes:
task :build do
# Do some build stuff
delay :test, 10_000
end
Il est possible d'exécuter une tâche Rake après la réussite d'une autre tâche en utilisant la méthode "after". Cette méthode prend en argument le nom de la tâche à exécuter et le nom de la tâche à exécuter après. Par exemple, le code suivant exécutera la tâche "deploy" après la réussite de la tâche "test":
task :build do
# Do some build stuff
after :test, :deploy
end
Vérifier si un tableau contient un objet ruby-on-rails |
Valider une date dans rails ? ruby-on-rails |
Valider lors de la destruction dans rails ruby-on-rails |
Valider l'attribut uniquement s'il est présent (uniquement si l'utilisateur le remplit) ruby-on-rails |
Validation rails requise pour la numéricité même si la présence n'est pas réglée à vrai ruby-on-rails |
Validation des longueurs minimale et maximale d'une chaîne de caractères mais en autorisant le vide ruby-on-rails |
Validation de messages personnalisés pour rails 3 ruby-on-rails |