From 90a172d01f13924954384229655b5098db0cbb73 Mon Sep 17 00:00:00 2001 From: mh Date: Thu, 21 Oct 2010 00:04:25 +0200 Subject: remove some legacy functions that are now in upstream --- lib/puppet/parser/functions/sha1.rb | 9 --------- lib/puppet/parser/functions/split.rb | 17 ----------------- 2 files changed, 26 deletions(-) delete mode 100644 lib/puppet/parser/functions/sha1.rb delete mode 100644 lib/puppet/parser/functions/split.rb (limited to 'lib/puppet/parser') diff --git a/lib/puppet/parser/functions/sha1.rb b/lib/puppet/parser/functions/sha1.rb deleted file mode 100644 index b5aa813..0000000 --- a/lib/puppet/parser/functions/sha1.rb +++ /dev/null @@ -1,9 +0,0 @@ -# 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/lib/puppet/parser/functions/split.rb b/lib/puppet/parser/functions/split.rb deleted file mode 100644 index 5237c92..0000000 --- a/lib/puppet/parser/functions/split.rb +++ /dev/null @@ -1,17 +0,0 @@ -# split($string, $delimiter) : $string -# split($string[], $delimiter) : $string[][] -# -# Split the first argument(s) on every $delimiter. $delimiter is interpreted as -# Ruby regular expression. -# -# For long-term portability it is recommended to refrain from using Ruby's -# extended RE features. -module Puppet::Parser::Functions - newfunction(:split, :type => :rvalue) do |args| - if args[0].is_a?(Array) - args.collect do |a| a.split(/#{args[1]}/) end - else - args[0].split(/#{args[1]}/) - end - end -end -- cgit v1.2.3 From 2dd17923bf6787029aee00d0b0e1e8dfbb0a5e7f Mon Sep 17 00:00:00 2001 From: mh Date: Thu, 21 Oct 2010 00:10:28 +0200 Subject: add a join function --- lib/puppet/parser/functions/join.rb | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 lib/puppet/parser/functions/join.rb (limited to 'lib/puppet/parser') diff --git a/lib/puppet/parser/functions/join.rb b/lib/puppet/parser/functions/join.rb new file mode 100644 index 0000000..95b664c --- /dev/null +++ b/lib/puppet/parser/functions/join.rb @@ -0,0 +1,10 @@ +Puppet::Parser::Functions::newfunction( + :join, + :type => :rvalue, + :doc => "Joins the values of the array in arg1 with the string in arg2 + + Example: join(['a','b'],',') -> 'a,b'" +) do |args| + raise Puppet::ParseError, 'join() needs two arguments' if args.length != 2 + args[0].to_a.join(args[1]) +end -- cgit v1.2.3 From 82eed89bccfe1af07caf925ce91e43b878bfda41 Mon Sep 17 00:00:00 2001 From: mh Date: Thu, 21 Oct 2010 00:40:23 +0200 Subject: add a function to do some array work --- lib/puppet/parser/functions/uniq_flatten.rb | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 lib/puppet/parser/functions/uniq_flatten.rb (limited to 'lib/puppet/parser') diff --git a/lib/puppet/parser/functions/uniq_flatten.rb b/lib/puppet/parser/functions/uniq_flatten.rb new file mode 100644 index 0000000..a4cae40 --- /dev/null +++ b/lib/puppet/parser/functions/uniq_flatten.rb @@ -0,0 +1,10 @@ +Puppet::Parser::Functions::newfunction( + :uniq_flatten, + :type => :rvalue, + :doc => "Flattens an array and make it uniq + + Example: uniq_flatten([['a','b'],'a']) -> ['a','b']" +) do |args| + raise Puppet::ParseError, 'uniq_flatten() needs one arguments' if args.length != 1 + args[0].to_a.flatten.uniq +end -- cgit v1.2.3 From 218c68752e3096b79cc9dc2a8749b9776715ade8 Mon Sep 17 00:00:00 2001 From: mh Date: Thu, 21 Oct 2010 01:05:22 +0200 Subject: go on uniq strings Looks like puppet has some internal representation which is not comparable. --- lib/puppet/parser/functions/uniq_flatten.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'lib/puppet/parser') diff --git a/lib/puppet/parser/functions/uniq_flatten.rb b/lib/puppet/parser/functions/uniq_flatten.rb index a4cae40..4841c4d 100644 --- a/lib/puppet/parser/functions/uniq_flatten.rb +++ b/lib/puppet/parser/functions/uniq_flatten.rb @@ -6,5 +6,5 @@ Puppet::Parser::Functions::newfunction( Example: uniq_flatten([['a','b'],'a']) -> ['a','b']" ) do |args| raise Puppet::ParseError, 'uniq_flatten() needs one arguments' if args.length != 1 - args[0].to_a.flatten.uniq + args[0].to_a.flatten.collect(&:to_s).uniq end -- cgit v1.2.3 From ba430647940c1cfbf3e220f032804da325da94a7 Mon Sep 17 00:00:00 2001 From: mh Date: Thu, 28 Oct 2010 00:19:44 +0200 Subject: add a new function & tests for that function --- lib/puppet/parser/functions/array_del.rb | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 lib/puppet/parser/functions/array_del.rb (limited to 'lib/puppet/parser') diff --git a/lib/puppet/parser/functions/array_del.rb b/lib/puppet/parser/functions/array_del.rb new file mode 100644 index 0000000..e604916 --- /dev/null +++ b/lib/puppet/parser/functions/array_del.rb @@ -0,0 +1,11 @@ +Puppet::Parser::Functions::newfunction( + :array_del, + :type => :rvalue, + :doc => "Deletes items from an array + + Example: array_del(['a','b'],'b') -> ['a']" +) do |args| + raise Puppet::ParseError, 'array_del() needs two arguments' if args.length != 2 + (res=args[0].dup).to_a.delete(args[1]) + res +end -- cgit v1.2.3