require 'pathname' class Pathname alias +@ to_s def chdir &exe Dir.chdir self.to_s, &exe end alias cd chdir # copies content of src in self as destination def copy src, **opts FileUtils.copy_file src.to_s, self.to_s, **opts end def replace_i open 'r+' do |f| lines = yield f f.truncate 0 f.pos = 0 f.puts lines end end end class Symbol alias +@ to_s def -@ :"-#{self}" end end class File def reset f.truncate 0 f.pos = 0 end end