# File utils.rb, line 408 def editInPlace( file ) # :yields: line raise "No block specified for editing operation" unless block_given? tempName = "#{file}.#{$$}" File::open( tempName, File::RDWR|File::CREAT, 0600 ) {|tempfile| File::unlink( tempName ) File::open( file, File::RDONLY ) {|fh| fh.each {|line| newline = yield( line ) or next tempfile.print( newline ) } } tempfile.seek(0) File::open( file, File::TRUNC|File::WRONLY, 0644 ) {|newfile| newfile.print( tempfile.read ) } } end