summaryrefslogtreecommitdiff
path: root/load_variables.rb
diff options
context:
space:
mode:
authorKrzysztof Wilczynski <krzysztof.wilczynski@linux.com>2011-04-25 03:19:10 +0100
committerKrzysztof Wilczynski <krzysztof.wilczynski@linux.com>2011-04-25 03:19:10 +0100
commit87a825e6094ead24da36b64937bbd24ccd9d7d39 (patch)
tree3d481bb70d50bb3d4029c84bf22966fd29c0eaa1 /load_variables.rb
parent914d5c2f38dd5c19d1b222c47ca6ba680277f6d6 (diff)
First version. Improvment upon bool2num function found on the Internet.
Signed-off-by: Krzysztof Wilczynski <krzysztof.wilczynski@linux.com>
Diffstat (limited to 'load_variables.rb')
-rw-r--r--load_variables.rb14
1 files changed, 9 insertions, 5 deletions
diff --git a/load_variables.rb b/load_variables.rb
index 95dcc90..a28c64b 100644
--- a/load_variables.rb
+++ b/load_variables.rb
@@ -43,8 +43,8 @@ This will result in a variable $foo being added and ready for use.
EOS
) do |arguments|
- raise(Puppet::ParseError, "Wrong number of arguments " +
- "given (#{arguments.size} for 2)") if arguments.size < 2
+ raise(Puppet::ParseError, "load_variables(): Wrong number of " +
+ "arguments given (#{arguments.size} for 2)") if arguments.size < 2
data = {}
@@ -56,17 +56,21 @@ This will result in a variable $foo being added and ready for use.
begin
data = YAML.load_file(file)
rescue => error
- raise(Puppet::ParseError, "Unable to load data " +
+ raise(Puppet::ParseError, "load_variables(): Unable to load data " +
"from the file `%s': %s" % file, error.to_s)
end
- raise(Puppet::ParseError, "Data in the file `%s' " +
+ raise(Puppet::ParseError, "load_variables(): Data in the file `%s' " +
"is not a hash" % file) unless data.is_a?(Hash)
data = ((data[key] and data[key].is_a?(Hash)) ? data[key] : {}) if key
end
- data.each { |param, value| setvar(param, strinterp(value)) }
+ data.each do |param, value|
+ value = strinterp(value) # Evaluate any interpolated variable names ...
+
+ setvar(param, value)
+ end
end
end