A bit more compact:
def copied_name(source_name)
if source_name =~ /\ACopy (\d+ )?of (.*)\z/i
"Copy #{($1||1).to_i+1} of #{$2}"
else
"Copy of #{source_name}"
end
end
You can simplify ($1||1) to just $1, if you don't mind starting at Copy
1 of... instead of Copy 2 of...
--
Posted via http://www.ruby-forum.com/.