Como posso criar um script bash que execute irb e depois algum código ruby?

2

Estou tentando fazer isso para tornar o teste de unidade uma tarefa fácil para mim.

O conteúdo de um script de exemplo em questão é o seguinte:

irb
require 'random_utils.rb'
a = SuccessChecker.new

Agora, isso só abre o irb. Eu gostaria de ser capaz de executar código arbitrário depois, para que eu possa criar scripts para tornar minha vida mais fácil exigindo arquivos, instanciando classes, preenchendo condições de teste, etc.

    
por ac7v 09.08.2012 / 00:41

2 respostas

2

Você está executando comandos sequencialmente, então o shell executa irb , aguarda até que irb seja fechado e execute o próximo comando (no seu caso require 'random_utils.rb' )…

O que você deseja é fornecer o script para irb via STDIN

irb <<EOF
require 'random_utils.rb'
a = SuccessChecker.new
EOF

Mas isso provavelmente não fará o que você quer, pois irb é para uso interativo; você deve considerar o uso do seu interpretador Ruby normal, por exemplo:

ruby <<EOF
require 'random_utils.rb'
a = SuccessChecker.new
EOF
    
por 09.08.2012 / 01:00
0

Parece que você está pronto para dar o próximo passo e usar uma biblioteca de testes unitários.

Aqui está uma introdução para minitest , embutido no Ruby 1.9.

    
por 10.08.2012 / 18:41

Tags