1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00

lib/open3: favor symbol proc when possible

It reduces both human and machine code; as well as reducing
the confusion from variable naming.

* lib/open3.rb (popen_run, pipeline, pipeline_run): avoid capture

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56866 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
normal 2016-11-21 23:13:16 +00:00
parent f845a9ef76
commit e3c2885698

View file

@ -198,13 +198,13 @@ module Open3
end
pid = spawn(*cmd, opts)
wait_thr = Process.detach(pid)
child_io.each {|io| io.close }
child_io.each(&:close)
result = [*parent_io, wait_thr]
if defined? yield
begin
return yield(*result)
ensure
parent_io.each{|io| io.close }
parent_io.each(&:close)
wait_thr.join
end
end
@ -601,7 +601,7 @@ module Open3
#
def pipeline(*cmds, **opts)
pipeline_run(cmds, opts, [], []) {|ts|
ts.map {|t| t.value }
ts.map(&:value)
}
end
module_function :pipeline
@ -650,13 +650,13 @@ module Open3
r = r2
}
result = parent_io + [wait_thrs]
child_io.each {|io| io.close }
child_io.each(&:close)
if defined? yield
begin
return yield(*result)
ensure
parent_io.each{|io| io.close }
wait_thrs.each {|t| t.join }
parent_io.each(&:close)
wait_thrs.each(&:join)
end
end
result