Sha256: ce9929d4b02dbad817b6fcf502cfcb01065f83b466fb9314651d95e38aa10643
Contents?: true
Size: 738 Bytes
Versions: 1
Compression:
Stored size: 738 Bytes
Contents
module VerySafeRm # TODO module RM def self.do_rm(file, args) return if RM.check_bang file sleep 2 system "rm #{args.join ' '} #{file}" end def self.rm_one(file, args) filesystem = `stat -fc %T #{file}` if filesystem == 'nilfs' then RM.do_rm file, ['-rvf'] elsif Dir.empty? file then RM.do_rm file, ['-rfv'] elsif File.empty? file then RM.do_rm file, ['-fv'] else RM.do_rm file, ['-iv', *args] end end def self.check_bang(file) file.reverse.each_char do |char| return false unless char == '!' STDERR.print "Did you really want to delete `#{file}? [y/N] " return true unless STDIN.gets =~ /^y(es)?$/i end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
very_safe_rm-0.2.3 | lib/very_safe_rm/rm_one.rb |