Class: Familia::String

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

Instance Attribute Summary

Attributes inherited from RedisType

#dump_method, #keystring, #load_method, #opts, #parent

Attributes included from Features

#features_enabled

Instance Method Summary collapse

Methods inherited from RedisType

#class?, #db, #initialize, #parent?, #parent_class?, #parent_instance?, #redis, #rediskey, #uri

Methods included from Features

#feature

Methods included from RedisType::ClassMethods

#db, #has_relations?, #inherited, #register, #uri, #valid_keys_only

Methods included from RedisType::Serialization

#deserialize_value, #deserialize_values, #deserialize_values_with_nil, #serialize_value

Methods included from RedisType::Commands

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

Methods included from Base

add_feature, #generate_id, #update_expiration, #uuid

Constructor Details

This class inherits a constructor from Familia::RedisType

Instance Method Details

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



76
77
78
79
80
# File 'lib/familia/redistype/types/string.rb', line 76

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

#char_countInteger Also known as: size

Returns the number of elements in the list

Returns:

  • (Integer)

    number of elements



9
10
11
# File 'lib/familia/redistype/types/string.rb', line 9

def char_count
  to_s.size
end

#decrementObject Also known as: decr



62
63
64
65
66
# File 'lib/familia/redistype/types/string.rb', line 62

def decrement
  ret = redis.decr rediskey
  update_expiration
  ret
end

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



69
70
71
72
73
# File 'lib/familia/redistype/types/string.rb', line 69

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

#empty?Boolean

Returns:

  • (Boolean)


14
15
16
# File 'lib/familia/redistype/types/string.rb', line 14

def empty?
  char_count.zero?
end

#getbit(offset) ⇒ Object



83
84
85
# File 'lib/familia/redistype/types/string.rb', line 83

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

#getrange(spoint, epoint) ⇒ Object



93
94
95
# File 'lib/familia/redistype/types/string.rb', line 93

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

#getset(val) ⇒ Object



103
104
105
106
107
# File 'lib/familia/redistype/types/string.rb', line 103

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

#incrementObject Also known as: incr



48
49
50
51
52
# File 'lib/familia/redistype/types/string.rb', line 48

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

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



55
56
57
58
59
# File 'lib/familia/redistype/types/string.rb', line 55

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

#initObject



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

def init; end

#nil?Boolean

Returns:

  • (Boolean)


109
110
111
# File 'lib/familia/redistype/types/string.rb', line 109

def nil?
  value.nil?
end

#setbit(offset, val) ⇒ Object



87
88
89
90
91
# File 'lib/familia/redistype/types/string.rb', line 87

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

#setnx(val) ⇒ Object



42
43
44
45
46
# File 'lib/familia/redistype/types/string.rb', line 42

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

#setrange(offset, val) ⇒ Object



97
98
99
100
101
# File 'lib/familia/redistype/types/string.rb', line 97

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

#to_iObject



30
31
32
# File 'lib/familia/redistype/types/string.rb', line 30

def to_i
  value.to_i
end

#to_sObject



26
27
28
# File 'lib/familia/redistype/types/string.rb', line 26

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

#valueObject Also known as: content, get



18
19
20
21
22
# File 'lib/familia/redistype/types/string.rb', line 18

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

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



34
35
36
37
38
# File 'lib/familia/redistype/types/string.rb', line 34

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