diff options
author | Brice Figureau <brice-puppet@daysofwonder.com> | 2008-10-05 18:52:20 +0200 |
---|---|---|
committer | James Turnbull <james@lovedthanlost.net> | 2008-10-14 10:10:27 +1100 |
commit | 00d5fe403d754e61ae32f01f6879dfc93bfa6111 (patch) | |
tree | 64a005082df7b58a2d8b5d9f0e6e239ab677196a /lib | |
parent | f5fb2d383ee9836bddd031b714907cddacd28046 (diff) | |
download | puppet-00d5fe403d754e61ae32f01f6879dfc93bfa6111.tar.gz puppet-00d5fe403d754e61ae32f01f6879dfc93bfa6111.tar.xz puppet-00d5fe403d754e61ae32f01f6879dfc93bfa6111.zip |
Fix #1115 - Allow checking tags/classes from ERb templates
Add to predefined variables to the ERB template space. "classes"
and "tags" which provide arrays of all the defined classes and tags
for a node.
Signed-off-by: Brice Figureau <brice-puppet@daysofwonder.com>
Diffstat (limited to 'lib')
-rw-r--r-- | lib/puppet/parser/templatewrapper.rb | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/lib/puppet/parser/templatewrapper.rb b/lib/puppet/parser/templatewrapper.rb index 3b74e62d4..fc716b0fd 100644 --- a/lib/puppet/parser/templatewrapper.rb +++ b/lib/puppet/parser/templatewrapper.rb @@ -37,6 +37,16 @@ class Puppet::Parser::TemplateWrapper end end + # Allow templates to access the defined classes + def classes + return scope.catalog.classes + end + + # Allow templates to access the defined tags + def tags + return scope.catalog.tags + end + # Ruby treats variables like methods, so we used to expose variables # within scope to the ERB code via method_missing. As per RedMine #1427, # though, this means that conflicts between methods in our inheritance |