# File lib/ruote/storage/base.rb, line 313 def prepare_msg_doc(action, options) # merge! is way faster than merge (no object creation probably) @counter ||= 0 t = Time.now.utc ts = "#{t.strftime('%Y-%m-%d')}!#{t.to_i}.#{'%06d' % t.usec}" _id = "#{$$}!#{Thread.current.object_id}!#{ts}!#{'%03d' % @counter}" @counter = (@counter + 1) % 1000 # some platforms (windows) have shallow usecs, so adding that counter... msg = options.merge!('type' => 'msgs', '_id' => _id, 'action' => action) msg.delete('_rev') # in case of message replay msg end