a29fe8a25c2a0e7e880da3e87c602496a289b7ab
[mirror/dsa-puppet.git] / 3rdparty / modules / stdlib / lib / puppet / functions / is_array.rb
1 Puppet::Functions.create_function(:is_array) do
2   dispatch :deprecation_gen do
3     param 'Any', :scope
4     repeated_param 'Any', :args
5   end
6   # Workaround PUP-4438 (fixed: https://github.com/puppetlabs/puppet/commit/e01c4dc924cd963ff6630008a5200fc6a2023b08#diff-c937cc584953271bb3d3b3c2cb141790R221) to support puppet < 4.1.0 and puppet < 3.8.1.
7   def call(scope, *args)
8     manipulated_args = [scope] + args
9     self.class.dispatcher.dispatch(self, scope, manipulated_args)
10   end
11   def deprecation_gen(scope, *args)
12     call_function('deprecation', 'is_array', "This method is deprecated, please use match expressions with Stdlib::Compat::Array instead. They are described at https://docs.puppet.com/puppet/latest/reference/lang_data_type.html#match-expressions.")
13     scope.send("function_is_array", args)
14   end
15 end