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