Here is how to invoke the function 'fqdn_rand(30)' in irb

irb > require 'puppet'
irb > scope => Puppet::Parser::Scope.new_for_test_harness('localhost')
irb>> scope.function_fqnrand([30])

=> "1"

That may not work if your function requires a fully configured system.
If you need that set the breakpoint inside your function, and then invoke with
puppet apply - i.e. puppet apply -e 'notice fqdn_rand(30)'

A good approach is to start with an rspec test for your function, then
you can invoke that when you want to debug. Look at spec/unit/parser/functions/fqdn_rand_spec.rb for an example how to test a function.

Hope that helps
- henrik

On 2013-17-09 14:19, Andrea Ieri wrote:
Hallo,
I'm developing a custom function that is exhibiting some odd behavior,
so I would like to debug it.
How do I load it in the ruby shell in a way that lets me execute it?
I have tried the steps on the documentation:

        irb(main):001:0> require 'puppet'

        => true

        irb(main):002:0> require 'phash2text.rb'

        => true

        irb(main):003:0> Puppet::Parser::Functions.function(:hash2text)

        => "function_hash2text"

        irb(main):004:0> function_hash2text

        NameError: undefined local variable or method
        `function_hash2text' for main:Object

        from (irb):4

        from :0


But how can I actually execute the function?


Thanks,
Andrea

--
You received this message because you are subscribed to the Google
Groups "Puppet Users" group.
To unsubscribe from this group and stop receiving emails from it, send
an email to puppet-users+unsubscr...@googlegroups.com.
To post to this group, send email to puppet-users@googlegroups.com.
Visit this group at http://groups.google.com/group/puppet-users.
For more options, visit https://groups.google.com/groups/opt_out.


--
You received this message because you are subscribed to the Google Groups "Puppet 
Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to puppet-users+unsubscr...@googlegroups.com.
To post to this group, send email to puppet-users@googlegroups.com.
Visit this group at http://groups.google.com/group/puppet-users.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to