Class: Familia::String

Inherits:
RedisType show all
Defined in:
lib/familia/types/string.rb

Instance Attribute Summary

Attributes inherited from RedisType

#dump_method, #load_method, #name, #opts, #parent

Instance Method Summary collapse

Methods inherited from RedisType

#class?, #db, inherited, #initialize, #parent?, #parent_class?, #parent_instance?, #redis, #rediskey, register, #ttl, #uri, valid_keys_only

Methods included from RedisType::Serialization

#from_redis, #multi_from_redis, #multi_from_redis_with_nil, #to_redis, #update_expiration

Methods included from RedisType::Commands

#delete!, #echo, #exists?, #expire, #expireat, #move, #persist, #realttl, #rename, #renamenx, #type

Methods included from Base

add_feature

Constructor Details

This class inherits a constructor from Familia::RedisType

Instance Method Details

#append(val) ⇒ Object Also known as: <<



74
75
76
77
78
# File 'lib/familia/types/string.rb', line 74

def append(val)
  ret = redis.append rediskey, val
  update_expiration
  ret
end

#decrementObject Also known as: decr



60
61
62
63
64
# File 'lib/familia/types/string.rb', line 60

def decrement
  ret = redis.decr rediskey
  update_expiration
  ret
end

#decrementby(val) ⇒ Object Also known as: decrby



67
68
69
70
71
# File 'lib/familia/types/string.rb', line 67

def decrementby(val)
  ret = redis.decrby rediskey, val.to_i
  update_expiration
  ret
end

#empty?Boolean

Returns:

  • (Boolean)


12
13
14
# File 'lib/familia/types/string.rb', line 12

def empty?
  size.zero?
end

#getbit(offset) ⇒ Object



81
82
83
# File 'lib/familia/types/string.rb', line 81

def getbit(offset)
  redis.getbit rediskey, offset
end

#getrange(spoint, epoint) ⇒ Object



91
92
93
# File 'lib/familia/types/string.rb', line 91

def getrange(spoint, epoint)
  redis.getrange rediskey, spoint, epoint
end

#getset(val) ⇒ Object



101
102
103
104
105
# File 'lib/familia/types/string.rb', line 101

def getset(val)
  ret = redis.getset rediskey, val
  update_expiration
  ret
end

#incrementObject Also known as: incr



46
47
48
49
50
# File 'lib/familia/types/string.rb', line 46

def increment
  ret = redis.incr(rediskey)
  update_expiration
  ret
end

#incrementby(val) ⇒ Object Also known as: incrby



53
54
55
56
57
# File 'lib/familia/types/string.rb', line 53

def incrementby(val)
  ret = redis.incrby(rediskey, val.to_i)
  update_expiration
  ret
end

#initObject



5
# File 'lib/familia/types/string.rb', line 5

def init; end

#nil?Boolean

Returns:

  • (Boolean)


107
108
109
# File 'lib/familia/types/string.rb', line 107

def nil?
  value.nil?
end

#setbit(offset, val) ⇒ Object



85
86
87
88
89
# File 'lib/familia/types/string.rb', line 85

def setbit(offset, val)
  ret = redis.setbit rediskey, offset, val
  update_expiration
  ret
end

#setnx(val) ⇒ Object



40
41
42
43
44
# File 'lib/familia/types/string.rb', line 40

def setnx(val)
  ret = redis.setnx(rediskey, to_redis(val))
  update_expiration
  ret
end

#setrange(offset, val) ⇒ Object



95
96
97
98
99
# File 'lib/familia/types/string.rb', line 95

def setrange(offset, val)
  ret = redis.setrange rediskey, offset, val
  update_expiration
  ret
end

#sizeObject Also known as: length



7
8
9
# File 'lib/familia/types/string.rb', line 7

def size
  to_s.size
end

#to_iObject



28
29
30
# File 'lib/familia/types/string.rb', line 28

def to_i
  value.to_i
end

#to_sObject



24
25
26
# File 'lib/familia/types/string.rb', line 24

def to_s
  value.to_s # value can return nil which to_s should not
end

#valueObject Also known as: content, get



16
17
18
19
20
# File 'lib/familia/types/string.rb', line 16

def value
  echo :value, caller[0..0] if Familia.debug
  redis.setnx rediskey, @opts[:default] if @opts[:default]
  from_redis redis.get(rediskey)
end

#value=(val) ⇒ Object Also known as: replace, set



32
33
34
35
36
# File 'lib/familia/types/string.rb', line 32

def value=(val)
  ret = redis.set(rediskey, to_redis(val))
  update_expiration
  ret
end