I’m just trying to learn some scripting in Ruby and I am trying to
convert a shell script to ruby.
part of the shell script does this:
source ./filename.txt
“filename.txt” contains variables, so then once its done sourcing it,
those variables are available for the rest of the script, and a number
of other scripts that use the same values.
I can’t figure out how to do something like that in Ruby.
I already have a file with the values I need in it, it sits in the same
directory level as the script I’m running. Can someone point me to the
right calls or objects, how I can source it in a similar or better way
than shell/bash?
The syntax in the file I created is just like I’ve been defining
variables in ruby…
url = http://www.anydomain.com
contact = Joe
contactlast = Smith
Or if you have another suggestion with a more elegant solution, that
would be appreciated as well. I currenly have to copy and paste all the
variables section to each of the scripts that uses them when I update
them.
thanks!
On Aug 8, 2006, at 5:46 PM, Oscar Gon wrote:
I meant:
url = ‘http://www.anydomain.com’
contact = ‘Joe’
contactlast = ‘Smith’
–
Posted via http://www.ruby-forum.com/.
The only way to do it with plain old local variables that I know of
is to use eval.
def load_vars(filname)
eval(File.open(filename).read)
end
-Ezra
Ezra Z. wrote:
The only way to do it with plain old local variables that I know of
is to use eval.
def load_vars(filname)
eval(File.open(filename).read)
end
-Ezra
Thanks Ezra, that’s exactly what I was looking for. I’ll give it a try!
@ hemant kumar
Thanks, I took a look at the yaml page but I’m not sure how I would use
that in ruby. I understand the syntax that’s used in YAML (I think) but
I’d still be left wondering how to read that into all/any of the ruby
scripts I need.
Or convert you file to a YAML.
Oscar Gon wrote:
Thanks, I took a look at the yaml page but I’m not sure how I would use
that in ruby. I understand the syntax that’s used in YAML (I think) but
I’d still be left wondering how to read that into all/any of the ruby
scripts I need.
vars.yml
url: http://www.example.com/
contact:
first: Joe
last: Smith
Then
require ‘yaml’
data = YAML::load_file( “vars.yml” )
puts “#{ data[‘contact’][‘first’] } from #{ data[‘url’] }”