Hi Martin,

The function API has evolved slightly since the blog entry that you're referring to was written. The arg_count was removed since it was redundant and confusing after we introduced the 'optional_param' and 'repeated_param'. You can find the documentation for Puppet 4.2 functions here:

https://docs.puppetlabs.com/references/4.2.latest/developer/Puppet/Functions.html

Regards,
Thomas


On 2015-08-31 17:57, Martin Alfke wrote:
Hi,

I am playing with Puppet 4 functions.
According to Henriks blog[1] one can provide information on number of arguments 
for a function using arg_count inside the dispatch.

The following code will throw an error:

# modules/utils/lib/puppet/functions/resolver.rb
require 'socket'
Puppet::Functions.create_function(:resolver) do
   dispatch :hostname do
     arg_count 0, 0
   end
   def hostname()
     Socket.gethostname
   end
end

Error: Evaluation Error: Error while evaluating a Function Call, undefined method 
`arg_count' for #<Puppet::Functions::DispatcherBuilder:0x00000004cbd280> at 
/etc/puppetlabs/code/environments/production/modules/functions/manifests/init.pp:2:15 
on node puppetmaster.example.net

I had aloof on the functions.rb file in PC1 
(/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/functions.rb).
No arg_count function is available.

Is arg_count a feature which will be available with an upcoming version?

Any other way to provide information regarding amount of arguments?

Best,
Martin

[1] 
http://puppet-on-the-edge.blogspot.de/2015/01/the-puppet-4x-function-api.html


--
You received this message because you are subscribed to the Google Groups "Puppet 
Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/puppet-dev/55E55AEF.7080008%40puppetlabs.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to