From 0ec7ffa5c086c8a1c6e871b086299dd1953fa8ba Mon Sep 17 00:00:00 2001 From: Helen Campbell Date: Thu, 15 Sep 2016 11:35:38 +0100 Subject: Ensure validate functions use Puppet 4 deprecation --- lib/puppet_x/puppetlabs/stdlib/deprecation_gen.rb | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 lib/puppet_x/puppetlabs/stdlib/deprecation_gen.rb (limited to 'lib/puppet_x/puppetlabs/stdlib/deprecation_gen.rb') diff --git a/lib/puppet_x/puppetlabs/stdlib/deprecation_gen.rb b/lib/puppet_x/puppetlabs/stdlib/deprecation_gen.rb new file mode 100644 index 0000000..a3d830b --- /dev/null +++ b/lib/puppet_x/puppetlabs/stdlib/deprecation_gen.rb @@ -0,0 +1,21 @@ +# Creates a Puppet 4 function for the corresponding puppet 3 validate function, who's name will be passed as an argument, alongside the type for deprecation output purposes. +module PuppetX + module Puppetlabs + module Stdlib + def self.deprecation_gen(funct, type) + Puppet::Functions.create_function(funct, Puppet::Functions::InternalFunction) do + @@funct = funct + @@type = type + dispatch :deprecation_gen do + scope_param + optional_repeated_param 'Any', :args + end + def deprecation_gen(scope, *args) + call_function('deprecation', 'puppet_3_type_check', "This method is deprecated, please use the stdlib validate_legacy function, with #{@@type}. There is further documentation for validate_legacy function in the README.") + scope.send("function_#{@@funct}", args) + end + end + end + end + end +end -- cgit v1.2.3