> On Jul 20, 10:50 ¨Âí¬ Ðáõì Áòãèåò ¼ð®®®Àðáõìáòãèåò®ïòç÷òïôåº
> So, I'm working on some DAM (digital asset management) scripts, and I want
> to make sure that I don't overwrite any files when I move or copy them.
> I was about to start working on a move method that would add a number to
> the destination filename if the name already exists. (IE
> mv('pma_20090720_1234.jpg', 'archive/2009/07') might create an
> 'archive/2009/07/pma_20090720_1234-1.jpg if pma_20090720_1234.jpg exists.)
>
> Question: is there already a module that can do that?
>
> Paul

I've just been doing this:

def unique(filename)
  count = 0
  unique_name = filename
  while File.exists?(unique_name)
    count += 1
    unique_name = "#{File.join(
      File.dirname(filename),
      File.basename(filename, ".*"))}_#{count}#{File.extname
(filename)}"
  end
  unique_name
end

there's probably a better way though