From 58671ebfffe3b03177d9ad248737932441fe4016 Mon Sep 17 00:00:00 2001 From: Chris Apolzon Date: Wed, 15 Feb 2012 10:26:28 -0800 Subject: [PATCH] Paperclip#run now respects swallow_stderr setting. Fix for #741 --- lib/paperclip.rb | 1 + test/paperclip_test.rb | 13 +++++++++++++ 2 files changed, 14 insertions(+) diff --git a/lib/paperclip.rb b/lib/paperclip.rb index 5db1db1aa..46f11a38c 100644 --- a/lib/paperclip.rb +++ b/lib/paperclip.rb @@ -99,6 +99,7 @@ def run(cmd, arguments = "", local_options = {}) command_path = options[:command_path] || options[:image_magick_path] Cocaine::CommandLine.path = ( Cocaine::CommandLine.path ? [Cocaine::CommandLine.path, command_path ].flatten : command_path ) local_options = local_options.merge(:logger => logger) if logging? && (options[:log_command] || local_options[:log_command]) + local_options = local_options.merge(:swallow_stderr => options[:swallow_stderr]) if !local_options[:swallow_stderr] && !options[:swallow_stderr].nil? Cocaine::CommandLine.new(cmd, arguments, local_options).run end diff --git a/test/paperclip_test.rb b/test/paperclip_test.rb index c11357c76..9cad12c79 100644 --- a/test/paperclip_test.rb +++ b/test/paperclip_test.rb @@ -4,6 +4,7 @@ class PaperclipTest < Test::Unit::TestCase context "Calling Paperclip.run" do setup do Paperclip.options[:log_command] = false + Paperclip.options[:swallow_stderr] = nil Cocaine::CommandLine.expects(:new).with("convert", "stuff", {}).returns(stub(:run)) @original_command_line_path = Cocaine::CommandLine.path end @@ -22,6 +23,18 @@ class PaperclipTest < Test::Unit::TestCase Paperclip.run("convert", "stuff") assert_equal [Cocaine::CommandLine.path].flatten.include?("/opt/my_app/bin"), true end + + should "respect Paperclip.options[:swallow_stderr]" do + Paperclip.options[:swallow_stderr] = false + Cocaine::CommandLine.unstub(:new) + Cocaine::CommandLine.expects(:new).with("convert", "stuff", {:swallow_stderr => false}).returns(stub(:run)) + Paperclip.run("convert", "stuff") + + Paperclip.options[:swallow_stderr] = true + Cocaine::CommandLine.unstub(:new) + Cocaine::CommandLine.expects(:new).with("convert", "stuff", {:swallow_stderr => true}).returns(stub(:run)) + Paperclip.run("convert", "stuff") + end end context "Calling Paperclip.run with a logger" do