diff options
Diffstat (limited to 'plugins/puppet')
-rw-r--r-- | plugins/puppet/parser/functions/basename.rb | 7 | ||||
-rw-r--r-- | plugins/puppet/parser/functions/dirname.rb | 7 | ||||
-rw-r--r-- | plugins/puppet/parser/functions/gsub.rb | 13 | ||||
-rw-r--r-- | plugins/puppet/parser/functions/re_escape.rb | 7 | ||||
-rw-r--r-- | plugins/puppet/parser/functions/sha1.rb | 9 | ||||
-rw-r--r-- | plugins/puppet/parser/functions/slash_escape.rb | 7 | ||||
-rw-r--r-- | plugins/puppet/parser/functions/split.rb | 7 |
7 files changed, 57 insertions, 0 deletions
diff --git a/plugins/puppet/parser/functions/basename.rb b/plugins/puppet/parser/functions/basename.rb new file mode 100644 index 0000000..14f0ca0 --- /dev/null +++ b/plugins/puppet/parser/functions/basename.rb @@ -0,0 +1,7 @@ +# get the basename of the given filename +module Puppet::Parser::Functions + newfunction(:basename, :type => :rvalue) do |args| + File.basename(args[0]) + end +end + diff --git a/plugins/puppet/parser/functions/dirname.rb b/plugins/puppet/parser/functions/dirname.rb new file mode 100644 index 0000000..3f784ac --- /dev/null +++ b/plugins/puppet/parser/functions/dirname.rb @@ -0,0 +1,7 @@ +# get the directory corresponding to this filename +module Puppet::Parser::Functions + newfunction(:dirname, :type => :rvalue) do |args| + File.dirname(args[0]) + end +end + diff --git a/plugins/puppet/parser/functions/gsub.rb b/plugins/puppet/parser/functions/gsub.rb new file mode 100644 index 0000000..371820f --- /dev/null +++ b/plugins/puppet/parser/functions/gsub.rb @@ -0,0 +1,13 @@ +# generic gsub call +module Puppet::Parser::Functions + newfunction(:gsub, :type => :rvalue) do |args| + if args[0].is_a?(Array) + args[0].collect do |val| + val.gsub(/#{args[1]}/, args[2]) + end + else + args[0].gsub(/#{args[1]}/, args[2]) + end + end +end + diff --git a/plugins/puppet/parser/functions/re_escape.rb b/plugins/puppet/parser/functions/re_escape.rb new file mode 100644 index 0000000..6e5904b --- /dev/null +++ b/plugins/puppet/parser/functions/re_escape.rb @@ -0,0 +1,7 @@ +# apply regexp escaping to a string +module Puppet::Parser::Functions + newfunction(:re_escape, :type => :rvalue) do |args| + Regexp.escape(args[0]) + end +end + diff --git a/plugins/puppet/parser/functions/sha1.rb b/plugins/puppet/parser/functions/sha1.rb new file mode 100644 index 0000000..b5aa813 --- /dev/null +++ b/plugins/puppet/parser/functions/sha1.rb @@ -0,0 +1,9 @@ +# return the sha1 hash +require 'digest/sha1' + +module Puppet::Parser::Functions + newfunction(:sha1, :type => :rvalue) do |args| + Digest::SHA1.hexdigest(args[0]) + end +end + diff --git a/plugins/puppet/parser/functions/slash_escape.rb b/plugins/puppet/parser/functions/slash_escape.rb new file mode 100644 index 0000000..04d3b95 --- /dev/null +++ b/plugins/puppet/parser/functions/slash_escape.rb @@ -0,0 +1,7 @@ +# escape slashes in a String +module Puppet::Parser::Functions + newfunction(:slash_escape, :type => :rvalue) do |args| + args[0].gsub(/\//, '\\/') + end +end + diff --git a/plugins/puppet/parser/functions/split.rb b/plugins/puppet/parser/functions/split.rb new file mode 100644 index 0000000..d08a40b --- /dev/null +++ b/plugins/puppet/parser/functions/split.rb @@ -0,0 +1,7 @@ +# generic split call +module Puppet::Parser::Functions + newfunction(:split, :type => :rvalue) do |args| + args[0].split(/#{args[1]}/) + end +end + |