module Refinements::IO
Provides additional enhancements to the IO
primitive.
Public Instance Methods
redirect(other) { |self| ... }
click to toggle source
# File lib/refinements/io.rb, line 22 def redirect other return self unless block_given? backup = dup reopen other yield self reopen backup end
squelch(&block)
click to toggle source
# File lib/refinements/io.rb, line 31 def squelch(&block) = self.class.void.then { |void| redirect(void, &block) } end
void() { |io| ... }
click to toggle source
# File lib/refinements/io.rb, line 9 def void new(sysopen("/dev/null", "w+")).then do |io| return io unless block_given? yield io io.tap(&:close) end end