Opções em comando CLI com Ruby

Dicas - 05/Jul/2020 - por André Kanamura

Interfaces de Linha de Comando ou Command Line Interfaces (CLI) costumavam ser a única forma de interagir com os computadores pessoais. Apesar de estarem fora de moda atualmente, já que a maior parte delas foram substituídas por Interfaces Gráficas, ainda existem muitas ferramentas bastante úteis que utilizam CLI's. Esses tipos de programas são uma ótima maneira de desenvolver softwares sem termos que investir muito na parte visual do programa, ou seja, são uma forma fácil e rápida de aplicar ideias e obter resultados. Também por essa razão, são uma boa maneira de estudar linguagens de programação.

Caso você esteja interessado em criar sua própria aplicação, o Ruby possui a classe OptionParser que vai te ajudar a criar opções de argumentos quando rodar os comandos do software.

Vamos considerar um código simples que imprime em tela uma saudação de acordo com os parâmetros passados com o comando. Podemos implementar no arquivo greeter.rb o seguinte:

require 'optparse'

options = {}

OptionParser.new do |parser|
  parser.on('-n', '--name NAME', 'Name of the person to greet.') do |n|
    options[:name] = n
  end

  parser.on('-h', '--house HOUSE', 'House of the person.') do |h|
    options[:house] = h
  end
end.parse!

puts "Hello, #{ options[:name] } of house #{ options[:house] }!"

Assim, quando rodar a aplicação podemos usar:

$ ruby greeter.rb --name Harry --house Gryffindor
# =>"Hello, Harry of house Gryffindor!"

Apesar de limitada, a classe OptionParser é simples e oferece uma funcionalidade legal para Interfaces de Linha de Comando, sem precisar instalar outras ferramentas na aplicação.

Referência

  • https://ruby-doc.org/stdlib-2.7.1/libdoc/optparse/rdoc/OptionParser.html
Foto de perfil do autor
André Kanamura

Dev na Campus Code