module Coque::Redirectable
Attributes
stderr[R]
stdin[R]
stdout[R]
Public Instance Methods
<(io)
click to toggle source
# File lib/coque/redirectable.rb, line 23 def <(io) self.in(io) end
>(io)
click to toggle source
# File lib/coque/redirectable.rb, line 13 def >(io) out(io) end
>=(io)
click to toggle source
# File lib/coque/redirectable.rb, line 33 def >=(io) err(io) end
err(io)
click to toggle source
# File lib/coque/redirectable.rb, line 27 def err(io) clone.tap do |c| c.stderr = io end end
getio(io, mode = "r")
click to toggle source
# File lib/coque/redirectable.rb, line 37 def getio(io, mode = "r") case io when STDERR io.dup when STDOUT io.dup when String File.open(io, mode) when Pathname File.open(io, mode) when IO io when Tempfile io else raise ArgumentError.new("Can't redirect stream to #{io}, must be String, Pathname, or IO") end end
in(io)
click to toggle source
# File lib/coque/redirectable.rb, line 17 def in(io) clone.tap do |c| c.stdin = io end end
out(io)
click to toggle source
# File lib/coque/redirectable.rb, line 7 def out(io) clone.tap do |c| c.stdout = io end end
stderr=(s)
click to toggle source
# File lib/coque/redirectable.rb, line 56 def stderr=(s) @stderr = getio(s, "w") end
stdin=(s)
click to toggle source
# File lib/coque/redirectable.rb, line 64 def stdin=(s) @stdin = getio(s, "r") end
stdout=(s)
click to toggle source
# File lib/coque/redirectable.rb, line 60 def stdout=(s) @stdout = getio(s, "w") end
Private Instance Methods
stdout_read()
click to toggle source
# File lib/coque/redirectable.rb, line 70 def stdout_read if defined? @stdout_read @stdout_read else nil end end