class Ferret::Alias_Generator
Public Class Methods
new(used_ids)
click to toggle source
Calls superclass method
# File lib/sql-ferret.rb, line 445 def initialize used_ids super() @used_ids = Set.new used_ids @counter = 0 return end
Public Instance Methods
available?(id)
click to toggle source
# File lib/sql-ferret.rb, line 461 def available? id return !@used_ids.include?(id) end
create(prefix)
click to toggle source
# File lib/sql-ferret.rb, line 452 def create prefix begin @counter += 1 candidate = prefix + @counter.to_s end while @used_ids.include? candidate @used_ids.add candidate return candidate end
reserve(id)
click to toggle source
# File lib/sql-ferret.rb, line 465 def reserve id if @used_ids.include? id then ugh 'already-reserved', identifier: id end @used_ids.add id return id end