Signed-off-by: Luke Kanies <[email protected]>
---
 lib/puppet/node/environment.rb |   14 ++++++++++++++
 spec/unit/node/environment.rb  |   24 ++++++++++++++++++++++++
 2 files changed, 38 insertions(+), 0 deletions(-)

diff --git a/lib/puppet/node/environment.rb b/lib/puppet/node/environment.rb
index 5d44833..c65f78b 100644
--- a/lib/puppet/node/environment.rb
+++ b/lib/puppet/node/environment.rb
@@ -7,6 +7,20 @@ end
 # Model the environment that a node can operate in.  This class just
 # provides a simple wrapper for the functionality around environments.
 class Puppet::Node::Environment
+    module Helper
+        def environment
+            Puppet::Node::Environment.new(@environment)
+        end
+
+        def environment=(env)
+            if env.is_a?(String) or env.is_a?(Symbol)
+                @environment = env
+            else
+                @environment = env.name
+            end
+        end
+    end
+
     include Puppet::Util::Cacher
 
     @seen = {}
diff --git a/spec/unit/node/environment.rb b/spec/unit/node/environment.rb
index 9d94216..459b24f 100755
--- a/spec/unit/node/environment.rb
+++ b/spec/unit/node/environment.rb
@@ -216,4 +216,28 @@ describe Puppet::Node::Environment do
             end
         end
     end
+
+    describe Puppet::Node::Environment::Helper do
+        before do
+            @helper = Object.new
+            @helper.extend(Puppet::Node::Environment::Helper)
+        end
+
+        it "should be able to set and retrieve the environment" do
+            @helper.environment = :foo
+            @helper.environment.name.should == :foo
+        end
+
+        it "should accept an environment directly" do
+            env = Puppet::Node::Environment.new :foo
+            @helper.environment = env
+            @helper.environment.name.should == :foo
+        end
+
+        it "should accept an environment as a string" do
+            env = Puppet::Node::Environment.new "foo"
+            @helper.environment = env
+            @helper.environment.name.should == :foo
+        end
+    end
 end
-- 
1.6.1

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Developers" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/puppet-dev?hl=en.

Reply via email to