Sha256: 311be5f9a09fb80f0a3d6e451bfc073a1cda1c60122c241ef0e4508bc72b7fc4

Contents?: true

Size: 529 Bytes

Versions: 1

Compression:

Stored size: 529 Bytes

Contents

module Blendris

  # RedisInteger is a string-value in Redis wrapped up to make
  # sure that it is used as an integer.

  class RedisInteger

    include RedisNode

    def self.cast_to_redis(value, options = {})
      raise TypeError.new("#{value.class.name} is not an integer") unless value.kind_of? Fixnum

      value.to_s
    end

    def self.cast_from_redis(value, options = {})
      value.to_i if value
    end

    def increment
      redis.incr key
    end

    def decrement
      redis.decr key
    end

  end

end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
blendris-0.5 lib/blendris/integer.rb