Over a million developers have joined DZone.

Speeding Up Your Acts_as_tokenized Inserts

DZone's Guide to

Speeding Up Your Acts_as_tokenized Inserts

Free Resource
You might want to apply this diff to your token_generator plugin. Otherwise for saving identical models the minimum time taken is one per second. Not fun!

Index: vendor/plugins/token_generator/lib/token_generator.rb
--- vendor/plugins/token_generator/lib/token_generator.rb       (revision 1233)
+++ vendor/plugins/token_generator/lib/token_generator.rb       (working copy)
@@ -1,7 +1,7 @@
 module TokenGenerator
   def generate_token(size = 12, &validity)
-      token = Digest::MD5.hexdigest("#{inspect}#{Time.now}").first(size)
+      token = Digest::MD5.hexdigest("#{inspect}#{Time.now}#{rand}").first(size)
     end while !validity.call(token) if block_given?

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}