module Nuggets::IO::RedirectMixin

Public Instance Methods

redirect(target = ::File::NULL, mode = 'w') { || ... } click to toggle source
   # File lib/nuggets/io/redirect_mixin.rb
31 def redirect(target = ::File::NULL, mode = 'w')
32   unless target.is_a?(self.class)
33     target = ::File.open(target, mode)
34     close_target = true
35   end
36 
37   prev = dup
38   reopen(target)
39 
40   yield
41 ensure
42   reopen(prev) if prev
43   target.close if close_target
44 end