summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLuke Kanies <luke@puppetlabs.com>2011-06-16 18:37:04 -0700
committerLuke Kanies <luke@puppetlabs.com>2011-07-15 11:52:12 -0700
commitb3c155430965280ab59b1dd70c020c6da3396fc9 (patch)
tree2e6300bb4dd5394a996aecfb83cd3ce97761672a
parent9d608ea176224f38c6af349883065d9363dd1bb1 (diff)
downloadpuppet-b3c155430965280ab59b1dd70c020c6da3396fc9.tar.gz
puppet-b3c155430965280ab59b1dd70c020c6da3396fc9.tar.xz
puppet-b3c155430965280ab59b1dd70c020c6da3396fc9.zip
Adding Scope#include? method
This is primarily for Hiera/DataLibrary support, but is a decent idea regardless. Signed-off-by: Luke Kanies <luke@puppetlabs.com> Reviewed-by: Nick Lewis <nick@puppetlabs.com>
-rw-r--r--lib/puppet/parser/scope.rb4
-rwxr-xr-xspec/unit/parser/scope_spec.rb9
2 files changed, 13 insertions, 0 deletions
diff --git a/lib/puppet/parser/scope.rb b/lib/puppet/parser/scope.rb
index 711655e44..7b75ca86b 100644
--- a/lib/puppet/parser/scope.rb
+++ b/lib/puppet/parser/scope.rb
@@ -87,6 +87,10 @@ class Puppet::Parser::Scope
@compiler.node.name
end
+ def include?(name)
+ self[name] != :undefined
+ end
+
# Is the value true? This allows us to control the definition of truth
# in one place.
def self.true?(value)
diff --git a/spec/unit/parser/scope_spec.rb b/spec/unit/parser/scope_spec.rb
index e08180020..887890ead 100755
--- a/spec/unit/parser/scope_spec.rb
+++ b/spec/unit/parser/scope_spec.rb
@@ -113,6 +113,15 @@ describe Puppet::Parser::Scope do
@scope["var"].should == "childval"
end
+ it "should be able to detect when variables are set" do
+ @scope["var"] = "childval"
+ @scope.should be_include("var")
+ end
+
+ it "should be able to detect when variables are not set" do
+ @scope.should_not be_include("var")
+ end
+
describe "and the variable is qualified" do
before do
@compiler = Puppet::Parser::Compiler.new(Puppet::Node.new("foonode"))