summaryrefslogtreecommitdiffstats
path: root/lib/puppet/parser/grammar.ra
diff options
context:
space:
mode:
authorBrice Figureau <brice-puppet@daysofwonder.com>2009-07-28 19:56:34 +0200
committerJames Turnbull <james@lovedthanlost.net>2009-08-01 11:15:29 +1000
commit3ebf148bf3d82d25e690aec6ec49975e0837e604 (patch)
treeb94504992e575d8b4181440b90bdf510cf67ef8c /lib/puppet/parser/grammar.ra
parentef68967f2b72e609a9d69e53771a61fd9f522149 (diff)
downloadpuppet-3ebf148bf3d82d25e690aec6ec49975e0837e604.tar.gz
puppet-3ebf148bf3d82d25e690aec6ec49975e0837e604.tar.xz
puppet-3ebf148bf3d82d25e690aec6ec49975e0837e604.zip
Enhance selector and case statements to match with regexp
The case and selector statements define ephemeral vars, like 'if'. Usage: case statement: $var = "foobar" case $var { "foo": { notify { "got a foo": } } /(.*)bar$/: { notify{ "hey we got a $1": } } } and for selector: $val = $test ? { /^match.*$/ => "matched", default => "default" } Signed-off-by: Brice Figureau <brice-puppet@daysofwonder.com>
Diffstat (limited to 'lib/puppet/parser/grammar.ra')
-rw-r--r--lib/puppet/parser/grammar.ra1
1 files changed, 1 insertions, 0 deletions
diff --git a/lib/puppet/parser/grammar.ra b/lib/puppet/parser/grammar.ra
index 2040ee868..072f3515f 100644
--- a/lib/puppet/parser/grammar.ra
+++ b/lib/puppet/parser/grammar.ra
@@ -620,6 +620,7 @@ selectlhand: name
| DEFAULT {
result = ast AST::Default, :value => val[0][:value], :line => val[0][:line]
}
+ | regex
# These are only used for importing, and we don't interpolate there.
qtexts: quotedtext { result = [val[0].value] }