summaryrefslogtreecommitdiff
path: root/lib/puppet/parser/functions/parseyaml.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/puppet/parser/functions/parseyaml.rb')
-rw-r--r--lib/puppet/parser/functions/parseyaml.rb10
1 files changed, 7 insertions, 3 deletions
diff --git a/lib/puppet/parser/functions/parseyaml.rb b/lib/puppet/parser/functions/parseyaml.rb
index d38b3ef..66d0413 100644
--- a/lib/puppet/parser/functions/parseyaml.rb
+++ b/lib/puppet/parser/functions/parseyaml.rb
@@ -3,7 +3,7 @@
#
module Puppet::Parser::Functions
- newfunction(:parseyaml, :type => :rvalue, :arity => -2, :doc => <<-EOS
+ newfunction(:parseyaml, :type => :rvalue, :doc => <<-EOS
This function accepts YAML as a string and converts it into the correct
Puppet structure.
@@ -16,8 +16,12 @@ be returned if the parsing of YAML string have failed.
begin
YAML::load(arguments[0]) || arguments[1]
- rescue Exception
- arguments[1]
+ rescue Exception => e
+ if arguments[1]
+ arguments[1]
+ else
+ raise e
+ end
end
end