Sha256: db0638fa7ed99760807aa98981ec46ec16dcdca342b3dc8fc74c48b7d470bce6

Contents?: true

Size: 987 Bytes

Versions: 11

Compression:

Stored size: 987 Bytes

Contents

module ::ActiveSupport
  module Cache
    class MemCacheStore < Store

      def delete_matched(matcher, options = nil) # :nodoc:
        super
        response = @data.delete_match(matcher)
        response == Response::DELETED
      rescue MemCache::MemCacheError => e
        logger.error("MemCacheError (#{e}): #{e.message}")
        false
      end

    end
  end
end

class ::MemCache

  def delete_match(key)
    @mutex.lock if @multithread

    raise MemCacheError, "No active servers" unless active?
    cache_key = make_cache_key key
    server = get_server_for_key cache_key

    sock = server.socket
    raise MemCacheError, "No connection to server" if sock.nil?

    begin
      sock.write "delete_match #{cache_key}\r\n"
      result = sock.gets
      raise_on_error_response! result
      result
    rescue SocketError, SystemCallError, IOError => err
      server.close
      raise MemCacheError, err.message
    end
  ensure
    @mutex.unlock if @multithread
  end

end

Version data entries

11 entries across 11 versions & 2 rubygems

Version Path
joshbuddy-tokyo_cache_cow-0.0.1 rails/init.rb
joshbuddy-tokyo_cache_cow-0.0.2 rails/init.rb
joshbuddy-tokyo_cache_cow-0.0.3 rails/init.rb
tokyo_cache_cow-0.0.11 rails/init.rb
tokyo_cache_cow-0.0.10 rails/init.rb
tokyo_cache_cow-0.0.9 rails/init.rb
tokyo_cache_cow-0.0.8 rails/init.rb
tokyo_cache_cow-0.0.7 rails/init.rb
tokyo_cache_cow-0.0.6 rails/init.rb
tokyo_cache_cow-0.0.5 rails/init.rb
tokyo_cache_cow-0.0.4 rails/init.rb