module Suo
  module Client
    class Memcached < Base
      def initialize(key, options = {})
        options[:client] ||= Dalli::Client.new(options[:connection] || ENV["MEMCACHE_SERVERS"] || "127.0.0.1:11211")
        super
      end

      def clear
        @client.delete(@key)
      end

      private

      def get
        @client.get_cas(@key)
      end

      def set(newval, cas)
        @client.set_cas(@key, newval, cas)
      end

      def initial_set(val = BLANK_STR)
        @client.set(@key, val)
      end
    end
  end
end