Sha256: d31d84a237576a78f826061a3770200107fa66e18336a1dcd0f7bbaebd3dfb20
Contents?: true
Size: 1010 Bytes
Versions: 3
Compression:
Stored size: 1010 Bytes
Contents
require File.dirname(__FILE__) + '/base_object' class Redis # # Class representing a simple value. You can use standard Ruby operations on it. # class Value < BaseObject require 'redis/helpers/core_commands' include Redis::Helpers::CoreCommands attr_reader :key, :options def initialize(key, *args) super(key, *args) redis.setnx(key, marshal(@options[:default])) if !@options[:default].nil? end def value=(val) if val.nil? delete else redis.set key, marshal(val) end end alias_method :set, :value= def value unmarshal redis.get(key) end alias_method :get, :value def inspect "#<Redis::Value #{value.inspect}>" end def ==(other); value == other end def nil?; value.nil? end def as_json(*args); value.as_json *args end def to_json(*args); value.to_json *args end def method_missing(*args) self.value.send *args end expiration_filter :value= end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
redis-objects-1.1.0 | lib/redis/value.rb |
redis-objects-1.0.1 | lib/redis/value.rb |
redis-objects-1.0.0 | lib/redis/value.rb |