Josh, I appreciate the help. Using function_foo(['bar']) rather than function_foo('bar') works as expected. I'm sure this will also solve the same issue I was having calling a custom function from a Ruby DSL defined type.
Cheers, Adam On Friday, June 22, 2012 12:01:24 PM UTC-5, Josh Cooper wrote: > > > > On Fri, Jun 22, 2012 at 9:13 AM, ad <adam.denn...@gmail.com> wrote: > >> I just tested this on CentOS/Puppet 2.7.12 with the same result. >> >> - Adam >> >> >> On Friday, June 22, 2012 10:20:52 AM UTC-5, ad wrote: >>> >>> This is on Windows running 2.7.16. I haven't tested on Linux or other >>> versions. I'm still relatively new to Puppet and haven't used custom >>> functions before, so wanted to run this by the list before filing a bug. >>> >>> When calling custom functions from functions, arguments are being >>> converted to decimal arrays. That is, passing the argument 'bar' from a >>> custom function to another function results in >>> >>> arg[0]: 98 >>> arg[1]: 97 >>> arg[2]: 114 >>> >>> Here's a full example in case I'm doing something wrong here. >>> >>> Function 1: >>> >>> module Puppet::Parser::Functions >>> newfunction(:foo) do |args| >>> puts 'args[0]:' + args[0].to_s >>> puts 'args.size:' + args.size.to_s >>> end >>> end >>> >>> Function 2: >>> >>> module Puppet::Parser::Functions >>> newfunction(:foo2) do |args| >>> Puppet::Parser::Functions.**autoloader.loadall >>> function_foo('from_function') >>> >> > Since you are calling foo with a single argument, I believe the args in > function foo is a string, not an array. If you instead say > `function_foo(['from_function'])`, it should do what function foo expects. > > end >>> end >>> >>> A manifest: >>> >>> foo('from_manifest') >>> foo2() >>> >>> Puppet Agent run Result: >>> >>> args[0]:from_manifest >>> args.size:1 >>> args[0]:102 >>> args.size:13 >>> >>> 13 is the string length of 'from_function', and 102 is the decimal >>> representation of 'f'. >>> >>> - Adam >>> >> -- >> You received this message because you are subscribed to the Google Groups >> "Puppet Users" group. >> To view this discussion on the web visit >> https://groups.google.com/d/msg/puppet-users/-/-eqfuh4NRI0J. >> >> To post to this group, send email to puppet-users@googlegroups.com. >> To unsubscribe from this group, send email to >> puppet-users+unsubscr...@googlegroups.com. >> For more options, visit this group at >> http://groups.google.com/group/puppet-users?hl=en. >> > > -- > Josh Cooper > Developer, Puppet Labs > > -- You received this message because you are subscribed to the Google Groups "Puppet Users" group. To view this discussion on the web visit https://groups.google.com/d/msg/puppet-users/-/Hr7CuBWk-LgJ. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.