module UniqueIdentifier::InstanceMethods

Public Instance Methods

generate_unique_id() click to toggle source
# File lib/unique_identifier.rb, line 19
def generate_unique_id
  return if self.send(self.class::FIELD)
  identifier = loop do
    random = self.class::BLOCK.call
    unless self.class.base_class.exists?(self.class::FIELD => random)
      break random
    end
  end
  self.send "#{self.class::FIELD}=", identifier
end