Class: Hari::Keys::Key
- Inherits:
-
Object
show all
- Defined in:
- lib/hari/keys/key.rb
Instance Attribute Summary collapse
Instance Method Summary
collapse
Constructor Details
#initialize(node = nil, options = {}) ⇒ Key
Returns a new instance of Key.
7
8
9
|
# File 'lib/hari/keys/key.rb', line 7
def initialize(node = nil, options = {})
@node, @options = node, options
end
|
Instance Attribute Details
Returns the value of attribute name.
5
6
7
|
# File 'lib/hari/keys/key.rb', line 5
def name
@name
end
|
Returns the value of attribute node.
5
6
7
|
# File 'lib/hari/keys/key.rb', line 5
def node
@node
end
|
Returns the value of attribute options.
5
6
7
|
# File 'lib/hari/keys/key.rb', line 5
def options
@options
end
|
Instance Method Details
18
19
20
|
# File 'lib/hari/keys/key.rb', line 18
def delete!
Hari.redis.del key
end
|
#desserialize(value) ⇒ Object
56
57
58
59
60
61
62
63
64
65
|
# File 'lib/hari/keys/key.rb', line 56
def desserialize(value)
type = options[:type]
if type.nil? || value.nil?
value
else
value.kind_of?(Enumerable) ? value.map { |v| type.from_json(v) }
: type.from_json(value)
end
end
|
#exists? ⇒ Boolean
22
23
24
|
# File 'lib/hari/keys/key.rb', line 22
def exists?
Hari.redis.exists key
end
|
#expire(milliseconds) ⇒ Object
26
27
28
|
# File 'lib/hari/keys/key.rb', line 26
def expire(milliseconds)
Hari.redis.pexpire key, milliseconds
end
|
#expire_at(timestamp) ⇒ Object
30
31
32
|
# File 'lib/hari/keys/key.rb', line 30
def expire_at(timestamp)
Hari.redis.expireat key, ::Time.parse(timestamp).to_s
end
|
11
12
13
14
15
16
|
# File 'lib/hari/keys/key.rb', line 11
def key
@key ||= begin
prefix = node ? "#{Hari.node_key(node)}:" : ''
prefix + name.to_s
end
end
|
34
35
36
|
# File 'lib/hari/keys/key.rb', line 34
def persist
Hari.redis.persist key
end
|
#serialize(value) ⇒ Object
46
47
48
49
50
51
52
53
54
|
# File 'lib/hari/keys/key.rb', line 46
def serialize(value)
type = options[:type]
if type.nil? || value.nil?
value
else
value.kind_of?(Enumerable) ? value.map(&:to_json) : value.to_json
end
end
|
42
43
44
|
# File 'lib/hari/keys/key.rb', line 42
def ttl
Hari.redis.ttl key
end
|
38
39
40
|
# File 'lib/hari/keys/key.rb', line 38
def type
Hari.redis.type key
end
|