These methods aren't available until Ruby 1.8.6 (Dir.mktmpdir) and Ruby 1.8.7
(Object#tap).

Reviewed-By: Jacob Helwig <[email protected]>
---
 lib/puppet/ssl/host.rb                     |    9 +++++----
 spec/unit/application/secret_agent_spec.rb |    4 +++-
 spec/unit/face/secret_agent_spec.rb        |    4 +++-
 spec/unit/node/environment_spec.rb         |    2 +-
 4 files changed, 12 insertions(+), 7 deletions(-)

diff --git a/lib/puppet/ssl/host.rb b/lib/puppet/ssl/host.rb
index 08a8ace..a06b1e2 100644
--- a/lib/puppet/ssl/host.rb
+++ b/lib/puppet/ssl/host.rb
@@ -27,10 +27,11 @@ class Puppet::SSL::Host
   attr_accessor :desired_state
 
   def self.localhost
-    @localhost ||= new.tap do |l|
-      l.generate unless l.certificate
-      l.key # Make sure it's read in
-    end
+    return @localhost if @localhost
+    @localhost = new
+    @localhost.generate unless @localhost.certificate
+    @localhost.key
+    @localhost
   end
 
   # This is the constant that people will use to mark that a given host is
diff --git a/spec/unit/application/secret_agent_spec.rb 
b/spec/unit/application/secret_agent_spec.rb
index eba9364..d392340 100755
--- a/spec/unit/application/secret_agent_spec.rb
+++ b/spec/unit/application/secret_agent_spec.rb
@@ -6,10 +6,12 @@ require 'puppet/indirector/report/rest'
 require 'tempfile'
 
 describe "Puppet::Application::Secret_agent" do
+  include PuppetSpec::Files
+
   it "should retrieve and apply a catalog and submit a report" do
     pending "REVISIT: 2.7 changes broke this, and we want the merge published"
 
-    dirname = Dir.mktmpdir("puppetdir")
+    dirname = tmpdir("puppetdir")
     Puppet[:vardir]   = dirname
     Puppet[:confdir]  = dirname
     Puppet[:certname] = "foo"
diff --git a/spec/unit/face/secret_agent_spec.rb 
b/spec/unit/face/secret_agent_spec.rb
index a5ec01f..2530d14 100755
--- a/spec/unit/face/secret_agent_spec.rb
+++ b/spec/unit/face/secret_agent_spec.rb
@@ -5,10 +5,12 @@ require 'puppet/indirector/catalog/rest'
 require 'tempfile'
 
 describe Puppet::Face[:secret_agent, '0.0.1'] do
+  include PuppetSpec::Files
+
   describe "#synchronize" do
     it "should retrieve and apply a catalog and return a report" do
       pending "This test doesn't work, but the code actually does - tested by 
LAK"
-      dirname = Dir.mktmpdir("puppetdir")
+      dirname = tmpdir("puppetdir")
       Puppet[:vardir] = dirname
       Puppet[:confdir] = dirname
       @catalog = Puppet::Resource::Catalog.new
diff --git a/spec/unit/node/environment_spec.rb 
b/spec/unit/node/environment_spec.rb
index f377274..eb20aa7 100755
--- a/spec/unit/node/environment_spec.rb
+++ b/spec/unit/node/environment_spec.rb
@@ -104,7 +104,7 @@ describe Puppet::Node::Environment do
   end
 
   it "should validate the modulepath directories" do
-    real_file = Dir.mktmpdir
+    real_file = tmpdir('moduledir')
     path = %W[/one /two #{real_file}].join(File::PATH_SEPARATOR)
 
     Puppet[:modulepath] = path
-- 
1.7.5.4

-- 
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