5 puntos por kodingwarrior 2025-04-08 | Aún no hay comentarios. | Compartir por WhatsApp
  • Resumen del artículo

    • Presenta varios trucos para automatizar herramientas CLI combinando scripts de Bash con Ruby.
    • Aunque también se pueden usar otros lenguajes de scripting, destaca la legibilidad y flexibilidad de Ruby.
  • ¿Por qué Ruby en lugar de Bash?

    • Ruby ofrece tipos de datos claros (enteros, punto flotante, cadenas, arreglos, hashes, etc.), lo que mejora la legibilidad del código.
    • Para usuarios de macOS, si tienen instalado homebrew, Ruby incluido por defecto lo vuelve especialmente práctico.
    • Ruby se aprovecha útilmente en scripts de compilación y automatización como CocoaPod y Fastlane.
    • Permite manejar fácilmente varios formatos de datos como JSON, CSV y YAML mediante bibliotecas integradas.
  • Escribir scripts Ruby One-Liner

    • Los scripts de una sola línea pueden ejecutarse con el formato ruby -e "<expression>".
    • Se puede recibir y procesar la salida de otras herramientas CLI usando pipes y redirección.
    • La opción -r permite cargar de antemano las bibliotecas necesarias para ampliar funcionalidades.
  • Usarlo en combinación con otras herramientas CLI

    • Al combinar Ruby con AWS CLI, Git, GitHub CLI, jq y curl, se puede maximizar la fortaleza de funciones puntuales.
    • Ejemplo de procesamiento de datos JSON:
      • Después de llamar una API con curl, se parsean los datos con la biblioteca JSON de Ruby y se imprime un campo específico (por ejemplo, title).
    • Ejemplo de procesamiento de datos YAML:
      • Tras leer un archivo con cat config.yaml, se parsea con la biblioteca YAML de Ruby para extraer un valor de configuración específico.
    • La salida de herramientas CLI puede reprocesarse con Ruby para construir flujos de automatización más flexibles.
  • Procesamiento de datos no estructurados (ejemplo con Git Log)

    • No todos los datos vienen estructurados como JSON, CSV o YAML.
    • Con las expresiones regulares y capacidades de procesamiento de texto de Ruby, se pueden leer logs y mensajes del sistema línea por línea para extraer la información necesaria.
    • Ejemplo de script con Git Log:
      • Extrae un log de commits de una línea con git log --oneline #{file}.
      • Permite seleccionar interactivamente el log deseado con gum choose --limit 100.
      • Extrae el hash del commit de cada log seleccionado y muestra el detalle de cambios con git show.
      • Finalmente, reconstruye y muestra los logs seleccionados en forma de checklist.
  • Cierre

    • Al combinar herramientas CLI con scripts en Ruby, se pueden crear potentes herramientas de automatización con simples combinaciones de comandos.
    • Es posible automatizar eficientemente el procesamiento complejo de datos, el análisis de logs y tareas de control de versiones para maximizar la productividad.
    • Un comienzo pequeño puede generar grandes cambios, y se anima a cada quien a iniciar su propio side project.
    • Como referencia, Perl también es útil, y materiales como Perl One-Liners Guide pueden servir de ayuda.

Aún no hay comentarios.

Aún no hay comentarios.