summaryrefslogtreecommitdiffstats
path: root/lib/puppet/parser/functions.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/puppet/parser/functions.rb')
-rw-r--r--lib/puppet/parser/functions.rb14
1 files changed, 14 insertions, 0 deletions
diff --git a/lib/puppet/parser/functions.rb b/lib/puppet/parser/functions.rb
index 5fb0439da..b1cd0d083 100644
--- a/lib/puppet/parser/functions.rb
+++ b/lib/puppet/parser/functions.rb
@@ -54,6 +54,20 @@ module Functions
end
end
+ # Remove a function added by newfunction
+ def self.rmfunction(name)
+ name = symbolize(name)
+
+ unless @functions.include? name
+ raise Puppet::DevError, "Function %s is not defined" % name
+ end
+
+ @functions.delete(name)
+
+ fname = "function_" + name.to_s
+ Puppet::Parser::Scope.send(:remove_method, fname)
+ end
+
# Determine if a given name is a function
def self.function(name)
name = symbolize(name)