5 points par kodingwarrior 2025-04-08 | Aucun commentaire pour le moment. | Partager sur WhatsApp
  • Aperçu de l’article

    • Présentation de diverses astuces pour automatiser des outils CLI en combinant des scripts Bash avec Ruby.
    • D’autres langages de script peuvent aussi convenir, mais l’article met l’accent sur la lisibilité et la flexibilité de Ruby.
  • Pourquoi Ruby plutôt que Bash ?

    • Ruby fournit des types de données explicites (entiers, nombres à virgule flottante, chaînes, tableaux, hashes, etc.), ce qui améliore la lisibilité du code.
    • Pour les utilisateurs macOS, si Homebrew est installé, Ruby est souvent déjà disponible, ce qui le rend très pratique.
    • Ruby est utile dans les scripts de build et d’automatisation, comme avec CocoaPod ou Fastlane.
    • Les bibliothèques standard permettent de manipuler facilement divers formats de données comme JSON, CSV et YAML.
  • Écrire des scripts Ruby en one-liner

    • Un script en une ligne peut être exécuté avec la forme ruby -e "<expression>".
    • On peut utiliser des pipes et des redirections pour récupérer et traiter le résultat d’autres outils CLI.
    • L’option -r permet de précharger les bibliothèques nécessaires pour étendre les fonctionnalités.
  • Les combiner avec d’autres outils CLI

    • En combinant Ruby avec AWS CLI, Git, GitHub CLI, jq, curl, etc., on peut tirer le meilleur parti d’outils spécialisés dans une seule chaîne de travail.
    • Exemple de traitement de données JSON :
      • Appeler une API avec curl, puis parser les données avec la bibliothèque JSON de Ruby et afficher un champ précis, comme title.
    • Exemple de traitement de données YAML :
      • Lire un fichier avec cat config.yaml, puis le parser avec la bibliothèque YAML de Ruby pour extraire une valeur de configuration précise.
    • Il est possible de retraiter les résultats d’outils CLI avec Ruby pour construire des workflows d’automatisation plus souples.
  • Traitement de données non structurées (exemple avec Git Log)

    • Toutes les données ne sont pas forcément structurées comme du JSON, du CSV ou du YAML.
    • Grâce aux expressions régulières et aux fonctions de traitement de texte de Ruby, on peut lire logs et messages système ligne par ligne afin d’en extraire les informations utiles.
    • Exemple de script Git Log :
      • Extraire les logs de commit sur une ligne avec git log --oneline #{file}.
      • Sélectionner interactivement les logs voulus avec gum choose --limit 100.
      • Extraire le hash de commit de chaque log sélectionné, puis afficher le détail des modifications avec git show.
      • Recomposer enfin les logs sélectionnés sous forme de checklist pour les afficher.
  • Conclusion

    • En combinant des outils CLI et des scripts Ruby, on peut créer de puissants outils d’automatisation à partir de simples commandes assemblées.
    • Cela permet d’automatiser efficacement des traitements de données complexes, l’analyse de logs et les tâches de gestion de versions afin de maximiser la productivité.
    • Un petit début peut conduire à de grands changements, et l’auteur encourage chacun à lancer son propre side project.
    • À noter que Perl peut aussi être utile, et que des ressources comme le Perl One-Liners Guide peuvent aider.

Aucun commentaire pour le moment.

Aucun commentaire pour le moment.