(maint) refactor ensure_packages for clarity
This commit is contained in:
parent
735db82bef
commit
686a05aea2
1 changed files with 7 additions and 5 deletions
|
@ -1,7 +1,6 @@
|
||||||
#
|
#
|
||||||
# ensure_packages.rb
|
# ensure_packages.rb
|
||||||
#
|
#
|
||||||
require 'puppet/parser/functions'
|
|
||||||
|
|
||||||
module Puppet::Parser::Functions
|
module Puppet::Parser::Functions
|
||||||
newfunction(:ensure_packages, :type => :statement, :doc => <<-EOS
|
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
|
EOS
|
||||||
) do |arguments|
|
) do |arguments|
|
||||||
|
|
||||||
raise(Puppet::ParseError, "ensure_packages(): Wrong number of arguments " +
|
if arguments.size != 1
|
||||||
"given (#{arguments.size} for 1)") if arguments.size != 1
|
raise(Puppet::ParseError, "ensure_packages(): Wrong number of arguments " +
|
||||||
arguments[0] = [ arguments[0] ] unless arguments[0].kind_of?(Array)
|
"given (#{arguments.size} for 1)")
|
||||||
|
end
|
||||||
|
|
||||||
|
packages = Array(arguments[0])
|
||||||
|
|
||||||
Puppet::Parser::Functions.function(:ensure_resource)
|
Puppet::Parser::Functions.function(:ensure_resource)
|
||||||
arguments[0].each { |package_name|
|
packages.each { |package_name|
|
||||||
function_ensure_resource(['package', package_name, {'ensure' => 'present' } ])
|
function_ensure_resource(['package', package_name, {'ensure' => 'present' } ])
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
|
|
Loading…
Reference in a new issue