Module: Dextokenable::ClassMethods

Defined in:
lib/dextokenable.rb

Instance Method Summary collapse

Instance Method Details

#tokenable(*args, &block) ⇒ Object



8
9
10
11
12
13
14
15
16
17
# File 'lib/dextokenable.rb', line 8

def tokenable(*args, &block)
  args.each do |name|
    before_validation :on => :create do
      self[name] = loop do
        random_token = SecureRandom.urlsafe_base64
        break random_token unless self.class.exists?(name => random_token)
      end
    end
  end
end