Update stdlib and concat to 6.1.0 both
[mirror/dsa-puppet.git] / 3rdparty / modules / stdlib / lib / puppet / parser / functions / squeeze.rb
index 81fadfd..548c933 100644 (file)
@@ -1,35 +1,34 @@
 #
 # squeeze.rb
 #
-
 module Puppet::Parser::Functions
-  newfunction(:squeeze, :type => :rvalue, :doc => <<-EOS
-Returns a new string where runs of the same character that occur in this set are replaced by a single character.
-    EOS
-  ) do |arguments|
+  newfunction(:squeeze, :type => :rvalue, :doc => <<-DOC
+    @summary
+      Returns a new string where runs of the same character that occur in this set are replaced by a single character.
+
+    @return
+      a new string where runs of the same character that occur in this set are replaced by a single character.
+  DOC
+             ) do |arguments|
 
-    if ((arguments.size != 2) and (arguments.size != 1)) then
-      raise(Puppet::ParseError, "squeeze(): Wrong number of arguments "+
-        "given #{arguments.size} for 2 or 1")
+    if (arguments.size != 2) && (arguments.size != 1)
+      raise(Puppet::ParseError, "squeeze(): Wrong number of arguments given #{arguments.size} for 2 or 1")
     end
 
     item = arguments[0]
     squeezeval = arguments[1]
 
-    if item.is_a?(Array) then
-      if squeezeval then
-        item.collect { |i| i.squeeze(squeezeval) }
+    if item.is_a?(Array)
+      if squeezeval
+        item.map { |i| i.squeeze(squeezeval) }
       else
-        item.collect { |i| i.squeeze }
+        item.map { |i| i.squeeze }
       end
+    elsif squeezeval
+      item.squeeze(squeezeval)
     else
-      if squeezeval then
-        item.squeeze(squeezeval)
-      else
-        item.squeeze
-      end
+      item.squeeze
     end
-
   end
 end