]> gitweb.fluxo.info Git - puppet-stdlib.git/commitdiff
(maint) refactor ensure_packages for clarity
authorAdrien Thebo <git@somethingsinistral.net>
Wed, 15 Jan 2014 19:03:49 +0000 (11:03 -0800)
committerAdrien Thebo <git@somethingsinistral.net>
Wed, 15 Jan 2014 19:03:49 +0000 (11:03 -0800)
lib/puppet/parser/functions/ensure_packages.rb

index 371d63a19944b74cb0798da36ff5a6ca117d50f1..1e0f225eb97ef60d9feb570ec45cebdb5309fa94 100644 (file)
@@ -1,7 +1,6 @@
 #
 # ensure_packages.rb
 #
-require 'puppet/parser/functions'
 
 module Puppet::Parser::Functions
   newfunction(:ensure_packages, :type => :statement, :doc => <<-EOS
@@ -9,12 +8,15 @@ Takes a list of packages and only installs them if they don't already exist.
     EOS
   ) do |arguments|
 
-    raise(Puppet::ParseError, "ensure_packages(): Wrong number of arguments " +
-      "given (#{arguments.size} for 1)") if arguments.size != 1
-    arguments[0] = [ arguments[0] ] unless arguments[0].kind_of?(Array)
+    if arguments.size != 1
+      raise(Puppet::ParseError, "ensure_packages(): Wrong number of arguments " +
+        "given (#{arguments.size} for 1)")
+    end
+
+    packages = Array(arguments[0])
 
     Puppet::Parser::Functions.function(:ensure_resource)
-    arguments[0].each { |package_name|
+    packages.each { |package_name|
       function_ensure_resource(['package', package_name, {'ensure' => 'present' } ])
     }
   end