From e247d9e1456c9c1487bcc0190b8b501bf1a013c8 Mon Sep 17 00:00:00 2001 From: nobu Date: Thu, 8 Jan 2015 03:52:01 +0000 Subject: open3.rb: Hash.try_convert * lib/open3.rb (popen_run): use Hash.try_convert for duck typing. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49177 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- lib/open3.rb | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'lib') diff --git a/lib/open3.rb b/lib/open3.rb index 959181b67d..58245100b4 100644 --- a/lib/open3.rb +++ b/lib/open3.rb @@ -190,7 +190,10 @@ module Open3 module_function :popen2e def popen_run(cmd, opts, child_io, parent_io) # :nodoc: - opts = opts.merge(cmd.pop) if cmd.last.kind_of? Hash + if last = Hash.try_convert(cmd.last) + opts = opts.merge(last) + cmd.pop + end pid = spawn(*cmd, opts) wait_thr = Process.detach(pid) child_io.each {|io| io.close } -- cgit v1.2.3