Update stdlib and concat to 6.1.0 both
[mirror/dsa-puppet.git] / 3rdparty / modules / stdlib / lib / puppet / parser / functions / ensure_resources.rb
index b3c51e6..c7032ca 100644 (file)
@@ -2,53 +2,55 @@ require 'puppet/parser/functions'
 
 Puppet::Parser::Functions.newfunction(:ensure_resources,
                                       :type => :statement,
-                                      :doc => <<-'ENDOFDOC'
-Takes a resource type, title (only hash), and a list of attributes that describe a
-resource.
+                                      :doc => <<-DOC
+  @summary
+    Takes a resource type, title (only hash), and a list of attributes that describe a
+    resource.
 
-    user { 'dan':
-      gid => 'mygroup',
-      ensure => present,
-    }
+  @return
+    created resources with the passed type and attributes
 
-An hash of resources should be passed in and each will be created with
-the type and parameters specified if it doesn't already exist.
+  @example Example usage
 
-    ensure_resources('user', {'dan' => { gid => 'mygroup', uid => '600' } ,  'alex' => { gid => 'mygroup' }}, {'ensure' => 'present'})
+        user { 'dan':
+          gid => 'mygroup',
+          ensure => present,
+        }
 
-From Hiera Backend:
+    An hash of resources should be passed in and each will be created with
+    the type and parameters specified if it doesn't already exist.
 
-userlist:
-  dan:
-    gid: 'mygroup'
- uid: '600'
-  alex:
- gid: 'mygroup'
+    ensure_resources('user', {'dan' => { gid => 'mygroup', uid => '600' }, 'alex' => { gid => 'mygroup' }}, {'ensure' => 'present'})
 
-Call:
-ensure_resources('user', hiera_hash('userlist'), {'ensure' => 'present'})
+    From Hiera Backend:
 
-ENDOFDOC
-) do |vals|
+    userlist:
+      dan:
+        gid: 'mygroup'
+     uid: '600'
+      alex:
+     gid: 'mygroup'
+
+    Call:
+    ensure_resources('user', hiera_hash('userlist'), {'ensure' => 'present'})
+DOC
+                                     ) do |vals|
   type, title, params = vals
   raise(ArgumentError, 'Must specify a type') unless type
   raise(ArgumentError, 'Must specify a title') unless title
   params ||= {}
 
-  if title.is_a?(Hash)
-    resource_hash = title.dup
-    resources = resource_hash.keys
-
-    Puppet::Parser::Functions.function(:ensure_resource)
-    resources.each { |resource_name|
-    if resource_hash[resource_name]
-        params_merged = params.merge(resource_hash[resource_name])
-    else
-        params_merged = params
-    end
-    function_ensure_resource([ type, resource_name, params_merged ])
-    }
-  else
-       raise(Puppet::ParseError, 'ensure_resources(): Requires second argument to be a Hash')
+  raise(Puppet::ParseError, 'ensure_resources(): Requires second argument to be a Hash') unless title.is_a?(Hash)
+  resource_hash = title.dup
+  resources = resource_hash.keys
+
+  Puppet::Parser::Functions.function(:ensure_resource)
+  resources.each do |resource_name|
+    params_merged = if resource_hash[resource_name]
+                      params.merge(resource_hash[resource_name])
+                    else
+                      params
+                    end
+    function_ensure_resource([type, resource_name, params_merged])
   end
 end