summaryrefslogtreecommitdiffstats
path: root/lib/puppet
diff options
context:
space:
mode:
authorBrice Figureau <brice-puppet@daysofwonder.com>2008-10-05 18:52:20 +0200
committerJames Turnbull <james@lovedthanlost.net>2008-10-14 10:10:27 +1100
commit00d5fe403d754e61ae32f01f6879dfc93bfa6111 (patch)
tree64a005082df7b58a2d8b5d9f0e6e239ab677196a /lib/puppet
parentf5fb2d383ee9836bddd031b714907cddacd28046 (diff)
downloadpuppet-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/puppet')
-rw-r--r--lib/puppet/parser/templatewrapper.rb10
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