projects
/
mirror
/
dsa-puppet.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Update puppetlabs/stdlib module
[mirror/dsa-puppet.git]
/
3rdparty
/
modules
/
stdlib
/
lib
/
puppet
/
parser
/
functions
/
delete_values.rb
diff --git
a/3rdparty/modules/stdlib/lib/puppet/parser/functions/delete_values.rb
b/3rdparty/modules/stdlib/lib/puppet/parser/functions/delete_values.rb
index
e799aef
..
f98f247
100644
(file)
--- a/
3rdparty/modules/stdlib/lib/puppet/parser/functions/delete_values.rb
+++ b/
3rdparty/modules/stdlib/lib/puppet/parser/functions/delete_values.rb
@@
-1,23
+1,31
@@
+#
+# delete_values.rb
+#
module Puppet::Parser::Functions
module Puppet::Parser::Functions
- newfunction(:delete_values, :type => :rvalue, :doc => <<-
EOS
-Deletes all instances of a given value from a hash.
+ newfunction(:delete_values, :type => :rvalue, :doc => <<-
DOC
+
Deletes all instances of a given value from a hash.
-*Examples:*
+
*Examples:*
- delete_values({'a'=>'A','b'=>'B','c'=>'C','B'=>'D'}, 'B')
+
delete_values({'a'=>'A','b'=>'B','c'=>'C','B'=>'D'}, 'B')
-Would return: {'a'=>'A','c'=>'C','B'=>'D'}
+
Would return: {'a'=>'A','c'=>'C','B'=>'D'}
- EOS
- ) do |arguments|
+ Note that since Puppet 4.0.0 the equivalent can be performed with the filter() function in Puppet:
+
+ $array.filter |$val| { $val != 'B' }
+ $hash.filter |$key, $val| { $val != 'B' }
+
+ DOC
+ ) do |arguments|
raise(Puppet::ParseError, "delete_values(): Wrong number of arguments given (#{arguments.size} of 2)") if arguments.size != 2
hash, item = arguments
raise(Puppet::ParseError, "delete_values(): Wrong number of arguments given (#{arguments.size} of 2)") if arguments.size != 2
hash, item = arguments
-
if not
hash.is_a?(Hash)
+
unless
hash.is_a?(Hash)
raise(TypeError, "delete_values(): First argument must be a Hash. Given an argument of class #{hash.class}.")
end
raise(TypeError, "delete_values(): First argument must be a Hash. Given an argument of class #{hash.class}.")
end
- hash.dup.delete_if { |key, val| item == val }
+ hash.dup.delete_if { |
_
key, val| item == val }
end
end
end
end