# File lib/memcache.rb, line 225 def get_or_add(key, *args) # Pseudo-atomic get and update. key = key.to_s if block_given? opts = args[0] || {} get(key) || add(key, yield, opts) || get(key) else opts = args[1] || {} get(key) || add(key, args[0], opts) || get(key) end end