Sha256: f43d3f3506d12251c1e19895e50137bcfb8b6cdd95b95ed70bd50971b6762cf6

Contents?: true

Size: 650 Bytes

Versions: 1

Compression:

Stored size: 650 Bytes

Contents

module Suo
  module Client
    class Redis < Base
      OK_STR = "OK".freeze

      def initialize(key, options = {})
        super
      end

      def clear
        @client.del(@key)
      end

      private

      def get
        [@client.get(@key), nil]
      end

      def set(newval, _)
        ret = @client.multi do |multi|
          multi.set(@key, newval)
        end

        ret && ret[0] == OK_STR
      end

      def synchronize
        @client.watch(@key) do
          yield
        end
      ensure
        @client.unwatch
      end

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

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
suo-dependless-0.4.0 lib/suo/client/redis.rb