module UniqToken::ClassMethods
Public Instance Methods
unique_token(field, options)
click to toggle source
# File lib/uniq_token.rb, line 12 def unique_token field, options prefix = options[:prefix].present? ? options[:prefix] : '' length = options[:length].to_i > 0 ? options[:length].to_i : 64 suffix = options[:suffix].present? ? options[:suffix] : '' before_validation { |record| if record[field].blank? record[field] = loop do random_token = "#{prefix}#{random_str(length)}#{suffix}" break random_token unless record.class.exists?("#{field}": random_token) end end } end