diff options
author | Bryan Jen <bryan.jen@gmail.com> | 2016-12-15 10:09:30 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2016-12-15 10:09:30 -0700 |
commit | 0d6df4fda791cb07e036365993d4f00f9d0f78aa (patch) | |
tree | 1d91edef1fe3c240dd7d0614da44d9ba299eaf13 /lib/puppet/parser/functions/pry.rb | |
parent | 552445105f476434aa502bfccfb19dfb14b5b350 (diff) | |
parent | 1cd0209aec84b0135adbe6b5fc2769f0053c26f3 (diff) |
Merge pull request #640 from hunner/add_pry
Add pry() function from hunner-pry
Diffstat (limited to 'lib/puppet/parser/functions/pry.rb')
-rw-r--r-- | lib/puppet/parser/functions/pry.rb | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/lib/puppet/parser/functions/pry.rb b/lib/puppet/parser/functions/pry.rb new file mode 100644 index 0000000..c18ef7e --- /dev/null +++ b/lib/puppet/parser/functions/pry.rb @@ -0,0 +1,30 @@ +# +# pry.rb +# + +module Puppet::Parser::Functions + newfunction(:pry, :type => :statement, :doc => <<-EOS +This function invokes a pry debugging session in the current scope object. This is useful for debugging manifest code at specific points during a compilation. + +*Examples:* + + pry() + EOS + ) do |arguments| + begin + require 'pry' + rescue LoadError + raise(Puppet::Error, "pry(): Requires the 'pry' rubygem to use, but it was not found") + end + # + ## Run `catalog` to see the contents currently compiling catalog + ## Run `cd catalog` and `ls` to see catalog methods and instance variables + ## Run `@resource_table` to see the current catalog resource table + # + if $stdout.isatty + binding.pry # rubocop:disable Lint/Debugger + else + Puppet.warning 'pry(): cowardly refusing to start the debugger on a daemonized master' + end + end +end |