Class: FilenamesSet
- Inherits:
-
Object
- Object
- FilenamesSet
- Defined in:
- lib/filenames_set.rb
Instance Method Summary collapse
- #<<(filename) ⇒ Object
-
#initialize ⇒ FilenamesSet
constructor
A new instance of FilenamesSet.
- #sequential_filename(filename, counter) ⇒ Object
Constructor Details
#initialize ⇒ FilenamesSet
Returns a new instance of FilenamesSet.
6 7 8 |
# File 'lib/filenames_set.rb', line 6 def initialize @set = Set.new end |
Instance Method Details
#<<(filename) ⇒ Object
10 11 12 13 14 |
# File 'lib/filenames_set.rb', line 10 def <<(filename) counter = 1 counter += 1 until @set.add? sequential_filename(filename, counter) sequential_filename(filename, counter) end |
#sequential_filename(filename, counter) ⇒ Object
16 17 18 19 20 21 |
# File 'lib/filenames_set.rb', line 16 def sequential_filename(filename, counter) base = File.basename(filename, ".*") suffix = "-#{counter}" if counter > 1 extension_with_delimiter = File.extname(filename) [base, suffix, extension_with_delimiter].join end |