5 # TODO(Krzysztof Wilczynski): We need to add support for regular expression ...
6 # TODO(Krzysztof Wilczynski): Support for strings and hashes too ...
8 module Puppet::Parser::Functions
9 newfunction(:member, :type => :rvalue, :doc => <<-EOS
10 This function determines if a variable is a member of an array.
14 member(['a','b'], 'b')
18 member(['a','b'], 'c')
24 raise(Puppet::ParseError, "member(): Wrong number of arguments " +
25 "given (#{arguments.size} for 2)") if arguments.size < 2
29 unless array.is_a?(Array)
30 raise(Puppet::ParseError, 'member(): Requires array to work with')
35 raise(Puppet::ParseError, 'member(): You must provide item ' +
36 'to search for within array given') if item.empty?
38 result = array.include?(item)
44 # vim: set ts=2 sw=2 et :