Class: Familia::String
Instance Attribute Summary
Attributes inherited from DataType
#dump_method, #keystring, #load_method, #opts, #parent
Attributes included from Features
#features_enabled
Instance Method Summary
collapse
Methods inherited from DataType
#class?, #dbclient, #dbkey, #initialize, #logical_database, #parent?, #parent_class?, #parent_instance?, #uri
Methods included from Features
#feature
#has_relations?, #inherited, #logical_database, #register, #uri, #valid_keys_only
#deserialize_value, #deserialize_values, #deserialize_values_with_nil, #serialize_value
#current_expiration, #delete!, #echo, #exists?, #expire, #expireat, #move, #persist, #rename, #renamenx, #type
Methods included from Base
add_feature, #generate_id, #update_expiration, #uuid
Instance Method Details
#append(val) ⇒ Object
Also known as:
<<
78
79
80
81
82
|
# File 'lib/familia/data_type/types/string.rb', line 78
def append(val)
ret = dbclient.append dbkey, val
update_expiration
ret
end
|
#char_count ⇒ Integer
Also known as:
size
Returns the number of elements in the list
9
10
11
|
# File 'lib/familia/data_type/types/string.rb', line 9
def char_count
to_s.size
end
|
#decrement ⇒ Object
Also known as:
decr
64
65
66
67
68
|
# File 'lib/familia/data_type/types/string.rb', line 64
def decrement
ret = dbclient.decr dbkey
update_expiration
ret
end
|
#decrementby(val) ⇒ Object
Also known as:
decrby
71
72
73
74
75
|
# File 'lib/familia/data_type/types/string.rb', line 71
def decrementby(val)
ret = dbclient.decrby dbkey, val.to_i
update_expiration
ret
end
|
#del ⇒ Object
111
112
113
114
|
# File 'lib/familia/data_type/types/string.rb', line 111
def del
ret = dbclient.del dbkey
ret.positive?
end
|
#empty? ⇒ Boolean
14
15
16
|
# File 'lib/familia/data_type/types/string.rb', line 14
def empty?
char_count.zero?
end
|
#getbit(offset) ⇒ Object
85
86
87
|
# File 'lib/familia/data_type/types/string.rb', line 85
def getbit(offset)
dbclient.getbit dbkey, offset
end
|
#getrange(spoint, epoint) ⇒ Object
95
96
97
|
# File 'lib/familia/data_type/types/string.rb', line 95
def getrange(spoint, epoint)
dbclient.getrange dbkey, spoint, epoint
end
|
#getset(val) ⇒ Object
105
106
107
108
109
|
# File 'lib/familia/data_type/types/string.rb', line 105
def getset(val)
ret = dbclient.getset dbkey, val
update_expiration
ret
end
|
#increment ⇒ Object
Also known as:
incr
50
51
52
53
54
|
# File 'lib/familia/data_type/types/string.rb', line 50
def increment
ret = dbclient.incr(dbkey)
update_expiration
ret
end
|
#incrementby(val) ⇒ Object
Also known as:
incrby
57
58
59
60
61
|
# File 'lib/familia/data_type/types/string.rb', line 57
def incrementby(val)
ret = dbclient.incrby(dbkey, val.to_i)
update_expiration
ret
end
|
#init ⇒ Object
5
|
# File 'lib/familia/data_type/types/string.rb', line 5
def init; end
|
#nil? ⇒ Boolean
116
117
118
|
# File 'lib/familia/data_type/types/string.rb', line 116
def nil?
value.nil?
end
|
#setbit(offset, val) ⇒ Object
89
90
91
92
93
|
# File 'lib/familia/data_type/types/string.rb', line 89
def setbit(offset, val)
ret = dbclient.setbit dbkey, offset, val
update_expiration
ret
end
|
#setnx(val) ⇒ Object
44
45
46
47
48
|
# File 'lib/familia/data_type/types/string.rb', line 44
def setnx(val)
ret = dbclient.setnx(dbkey, serialize_value(val))
update_expiration
ret
end
|
#setrange(offset, val) ⇒ Object
99
100
101
102
103
|
# File 'lib/familia/data_type/types/string.rb', line 99
def setrange(offset, val)
ret = dbclient.setrange dbkey, offset, val
update_expiration
ret
end
|
#to_i ⇒ Object
32
33
34
|
# File 'lib/familia/data_type/types/string.rb', line 32
def to_i
value&.to_i || 0
end
|
#to_s ⇒ Object
26
27
28
29
30
|
# File 'lib/familia/data_type/types/string.rb', line 26
def to_s
return super if value.to_s.empty?
value.to_s
end
|
#value ⇒ Object
Also known as:
content, get
18
19
20
21
22
|
# File 'lib/familia/data_type/types/string.rb', line 18
def value
echo :value, caller(0..0) if Familia.debug
dbclient.setnx dbkey, @opts[:default] if @opts[:default]
deserialize_value dbclient.get(dbkey)
end
|
#value=(val) ⇒ Object
Also known as:
replace, set
36
37
38
39
40
|
# File 'lib/familia/data_type/types/string.rb', line 36
def value=(val)
ret = dbclient.set(dbkey, serialize_value(val))
update_expiration
ret
end
|