As vezes em nossa aplicação precisamos verificar ou ver se uma variável de ambiente realmente foi “setada“.

Em Ruby isso é muito fácil fazer.

Veja o código:

1
2
path_bruto = ENV['path']
puts "Path Bruto: #{path_bruto}"

Pronto. Muito fácil.

Podemos trabalhar da maneira que quisermos quando recuperamos o valor de uma variável de ambiente. Abaixo, segue um trecho de código bem simples onde quebramos a variável de ambiente “path” em um array e imprimo na tela cada posição do array.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
path_bruto = ENV['path']
puts "Path Bruto: #{path_bruto}"
 
# Vamos trabalhar um pouquinho com o resultado do ENV.
# O path_bruto é "quebrado" com um split. A cada caracter ";" 
# que ele encontra, ele transforma em uma posição no array.
path_array = Array.new
path_array = path_bruto.split(";")
puts "Encontrados #{path_array.size} paths. Vamos exibi-los"
 
# Loop para exibir os caminhos no array
path_array.each do |path_separado|
	puts "Path: #{path_separado}"
end

Uma observação a se fazer é que não é possível setar uma variável usando o ENV. Por exemplo, isso aqui não é possível:

1
ENV["var"] = "nova_variável"

Mas, se você criar um arquivo batch, setar a variável no arquivo batch e chamar seu código Ruby a partir desse arquivo batch, a variável setada fica disponível para você na sua aplicação. Vamos aos exemplos.

Temos nosso arquivo BAT:

1
2
3
@echo off
set minha_variavel=Ola Mundo
ruby show_minha_var.rb

E nosso arquivo Ruby que exibe a variável setada no arquivo bat.

1
2
minha_var = ENV["minha_variavel"]
puts minha_var

Execute o arquivo bat e veja que a variável nele setada também fica disponível para você usar em seu código Ruby.

É isso aí pessoal. Espero que tenham curtido essa dica.

Até a próxima!