5 pontos por kodingwarrior 2025-04-08 | Ainda não há comentários. | Compartilhar no WhatsApp
  • Visão geral do artigo

    • Apresenta vários truques para automatizar ferramentas de CLI combinando Ruby com scripts Bash.
    • Outras linguagens de script também podem ser usadas, mas o texto destaca a legibilidade e a flexibilidade do Ruby.
  • Por que Ruby em vez de Bash?

    • Ruby oferece tipos de dados claros (inteiros, ponto flutuante, strings, arrays, hashes etc.), o que melhora a legibilidade do código.
    • Para usuários de macOS, se o Homebrew estiver instalado, o Ruby que vem junto aumenta bastante sua utilidade.
    • Ruby é útil em scripts de build e automação, como com CocoaPod e Fastlane.
    • Formatos de dados como JSON, CSV e YAML podem ser tratados facilmente com bibliotecas padrão.
  • Escrevendo scripts Ruby One-Liner

    • Scripts de uma linha podem ser executados no formato ruby -e "<expression>".
    • É possível receber e processar a saída de outras ferramentas de CLI usando pipes e redirecionamento.
    • A opção -r permite pré-carregar as bibliotecas necessárias e expandir as funcionalidades.
  • Combinando com outras ferramentas de CLI

    • Ao combinar Ruby com AWS CLI, Git, GitHub CLI, jq, curl e outras ferramentas, dá para potencializar ao máximo os pontos fortes de cada uma.
    • Exemplo de processamento de dados JSON:
      • Após chamar uma API com curl, os dados são analisados com a biblioteca JSON do Ruby e campos específicos (por exemplo, title) são exibidos.
    • Exemplo de processamento de dados YAML:
      • Depois de ler um arquivo com cat config.yaml, ele é analisado com a biblioteca YAML do Ruby para extrair valores específicos de configuração.
    • Também é possível fazer pós-processamento da saída de ferramentas de CLI com Ruby para montar workflows de automação mais flexíveis.
  • Processando dados não estruturados (exemplo com Git Log)

    • Nem todos os dados são estruturados como JSON, CSV ou YAML.
    • Com expressões regulares e os recursos de processamento de texto do Ruby, é possível ler logs e mensagens de sistema linha por linha e extrair as informações necessárias.
    • Exemplo de script com Git Log:
      • Extração de logs de commit em uma linha com git log --oneline #{file}.
      • Seleção interativa dos logs desejados com gum choose --limit 100.
      • Extração do hash de commit de cada log selecionado e exibição das alterações detalhadas com git show.
      • Por fim, os logs selecionados são reorganizados e exibidos no formato de checklist.
  • Encerrando

    • Ao combinar ferramentas de CLI com scripts em Ruby, é possível criar ferramentas de automação poderosas com combinações simples de comandos.
    • Processamento complexo de dados, análise de logs e tarefas de controle de versão podem ser automatizados de forma eficiente para maximizar a produtividade.
    • Um começo pequeno pode gerar grandes mudanças, e o autor recomenda que você também comece seu próprio side project.
    • Como referência, Perl também é útil, e materiais como o Perl One-Liners Guide podem ajudar.

Ainda não há comentários.

Ainda não há comentários.