Class: AudioFeedManager::UniqueIdGenerator

Inherits:
Object
  • Object
show all
Defined in:
lib/audio_feed_manager/unique_id_generator.rb

Instance Method Summary collapse

Instance Method Details

#generate(name, directory) ⇒ Object



5
6
7
8
9
10
11
12
13
14
15
16
17
# File 'lib/audio_feed_manager/unique_id_generator.rb', line 5

def generate(name, directory)
  existing_ids = directory_lister.list(directory)
  base_id = name.downcase.gsub(/[\s\.,']/, '-').gsub(/[^a-z0-9\-]/, '')

  proposed_id = base_id
  idx = 1
  while existing_ids.include?(proposed_id)
    proposed_id = "#{base_id}-#{idx}"
    idx += 1
  end

  proposed_id
end