def touch(globs)
globs = [globs] if globs.kind_of?(String)
error "touch parameter is a String or an Array of Strings" unless
globs.kind_of?(String) or globs.kind_of?(Array)
files = []
for glob in globs
error "touch parameter is a String or an Array of Strings" unless
glob.kind_of?(String)
new_files = Dir.glob(glob)
if new_files.length == 0
files << glob
else
files += new_files
end
end
files.uniq!
size = (files.kind_of?(Array) ? files.size : 1)
puts "Touching #{size} file(s)" if size > 0
begin
FileUtils.touch(files)
rescue
error "Error touching file(s): #{$!}"
end
end