#
# == Synopsis
#
# Copy a file to 'backup' sub directory. The file name is appended
# current date and time.
#
# == Usage
#
# copy_to_backup.rb  [ -h | --help ] file1 file2 ...
#
# 

require 'ftools'
require 'optparse'
require 'rdoc/usage'


DEFAULT_BACKUP_DIRNAME = "backup"

def copy_to_backup(filenames, backupdir = DEFAULT_BACKUP_DIRNAME)

    time = Time.now.strftime "_%Y-%m-%d_%H-%M-%S"
    
    filenames.each{|filename|
        raise ArgumentError,"#{filename} is not a file"  if ! File.file?(filename)
        
        dirname = File.dirname(filename)
        base, ext = File.basename(filename,".*"), File.extname(filename)
        File.copy filename, File.join(dirname,  backupdir, base+time+ext )
    }

end


if __FILE__ == $0

    opts = OptionParser.new
    opts.on("-h","--help"){ RDoc::usage }
    opts.parse(ARGV)  rescue RDoc::usage('usage')
    
    copy_to_backup ARGV

end
