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 [email protected].
To post to this group, send email to [email protected].
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 [email protected].
To post to this group, send email to [email protected].
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