From 8016cefafe97d3a143cf21b270c110d357e46273 Mon Sep 17 00:00:00 2001
From: Jacob Vosmaer <contact@jacobvosmaer.nl>
Date: Tue, 25 Feb 2014 11:58:22 +0100
Subject: [PATCH] Make the Gitlab::Popen path argument optional

---
 lib/gitlab/popen.rb           | 3 ++-
 spec/lib/gitlab/popen_spec.rb | 9 +++++++++
 2 files changed, 11 insertions(+), 1 deletion(-)

diff --git a/lib/gitlab/popen.rb b/lib/gitlab/popen.rb
index d10269f4438..f9559012c4a 100644
--- a/lib/gitlab/popen.rb
+++ b/lib/gitlab/popen.rb
@@ -3,11 +3,12 @@ require 'open3'
 
 module Gitlab
   module Popen
-    def popen(cmd, path)
+    def popen(cmd, path=nil)
       unless cmd.is_a?(Array)
         raise "System commands must be given as an array of strings"
       end
 
+      path ||= Dir.pwd
       vars = { "PWD" => path }
       options = { chdir: path }
 
diff --git a/spec/lib/gitlab/popen_spec.rb b/spec/lib/gitlab/popen_spec.rb
index a4a0846b7b9..76d506eb3c0 100644
--- a/spec/lib/gitlab/popen_spec.rb
+++ b/spec/lib/gitlab/popen_spec.rb
@@ -32,5 +32,14 @@ describe 'Gitlab::Popen', no_db: true do
     end
   end
 
+  context 'without a directory argument' do
+    before do
+      @output, @status = @klass.new.popen(%W(ls))
+    end
+
+    it { @status.should be_zero }
+    it { @output.should include('spec') }
+  end
+
 end
 
-- 
GitLab