Update stdlib and concat to 6.1.0 both
[mirror/dsa-puppet.git] / 3rdparty / modules / stdlib / lib / puppet / functions / validate_re.rb
1 # @summary
2 #  Perform validation of a string against one or more regular
3 #  expressions.
4 #
5 Puppet::Functions.create_function(:validate_re) do
6   # @param scope
7   #   The main value that will be passed to the method
8   #
9   # @param args
10   #   Any additional values that are to be passed to the method
11   #   The first argument of this function should be a string to
12   #   test, and the second argument should be a stringified regular expression
13   #   (without the // delimiters) or an array of regular expressions
14   #
15   # @return [Boolean]
16   #   `true` or `false` returned from the called function.
17   dispatch :deprecation_gen do
18     param 'Any', :scope
19     repeated_param 'Any', :args
20   end
21   # Workaround PUP-4438 (fixed: https://github.com/puppetlabs/puppet/commit/e01c4dc924cd963ff6630008a5200fc6a2023b08#diff-
22   #   c937cc584953271bb3d3b3c2cb141790R221) to support puppet < 4.1.0 and puppet < 3.8.1.
23   def call(scope, *args)
24     manipulated_args = [scope] + args
25     self.class.dispatcher.dispatch(self, scope, manipulated_args)
26   end
27
28   def deprecation_gen(scope, *args)
29     call_function('deprecation', 'validate_re', 'This method is deprecated, please use the stdlib validate_legacy function,
30                     with Pattern[]. There is further documentation for validate_legacy function in the README.')
31     scope.send('function_validate_re', args)
32   end
33 end