Sha256: 9b3e343ba6833f5b6aa1285b97290871488df6aa89510aaed36bfd98b81c6573

Contents?: true

Size: 1.16 KB

Versions: 6

Compression:

Stored size: 1.16 KB

Contents

class Memcached

  alias :get_multi :get #:nodoc:

  # A legacy compatibility wrapper for the Memcached class. It has basic compatibility with the <b>memcache-client</b> API.
  class Rails < ::Memcached
    
    DEFAULTS = {}
         
    # See Memcached#new for details.
    def initialize(servers, opts = {})
      super(servers, DEFAULTS.merge(opts))      
    end
    
    # Wraps Memcached#get so that it doesn't raise. This has the side-effect of preventing you from 
    # storing <tt>nil</tt> values.
    def get(key, raw = false)
      super(key, !raw)
    rescue NotFound
    end
    
    # Wraps Memcached#get with multiple arguments.
    def get_multi(*keys)
      super(keys)
    end
    
    # Wraps Memcached#set.
    def set(key, value, ttl = 0, raw = false)
      super(key, value, ttl, !raw)
    end
    
    # Wraps Memcached#delete so that it doesn't raise. 
    def delete(key)
      super(key)
    rescue NotFound
    end
    
    # Namespace accessor.
    def namespace
      @namespace
    end

    # Alias for get.
    def [](key)
      get key
    end        

    # Alias for Memcached#set.
    def []=(key, value)
      set key, value
    end
    
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
memcached-0.10 lib/memcached/rails.rb
memcached-0.8 lib/memcached/rails.rb
memcached-0.9 lib/memcached/rails.rb
memcached-0.7 lib/memcached/rails.rb
memcached-0.7.2 lib/memcached/rails.rb
memcached-0.8.1 lib/memcached/rails.rb