Module: ValkeyObjects::ClassMethods
- Defined in:
- lib/valkey/objects.rb
Instance Method Summary collapse
-
#counter(name, options = {}) ⇒ Object
Define a counter attribute.
-
#hash_key(name, options = {}) ⇒ Object
Define a hash attribute.
- #knn(*a) ⇒ Object
-
#list(name, options = {}) ⇒ Object
Define a list attribute.
-
#set(name, options = {}) ⇒ Object
Define a set attribute.
-
#sorted_set(name, options = {}) ⇒ Object
Define a sorted set attribute.
- #valkey ⇒ Object
- #valkey=(client) ⇒ Object
-
#value(name, options = {}) ⇒ Object
Define a value (string) attribute.
Instance Method Details
#counter(name, options = {}) ⇒ Object
Define a counter attribute
31 32 33 34 35 36 37 |
# File 'lib/valkey/objects.rb', line 31 def counter(name, = {}) key_name = [:key] || name.to_s define_method(name) do ValkeyObjects::Counter.new("#{self.class.name.downcase}:#{@id}:counter:#{key_name}", self.class.valkey) end end |
#hash_key(name, options = {}) ⇒ Object
Define a hash attribute
58 59 60 61 62 63 64 |
# File 'lib/valkey/objects.rb', line 58 def hash_key(name, = {}) key_name = [:key] || name.to_s define_method(name) do ValkeyObjects::HashKey.new("#{self.class.name.downcase}:#{@id}:hash:#{key_name}", self.class.valkey) end end |
#knn(*a) ⇒ Object
17 18 19 |
# File 'lib/valkey/objects.rb', line 17 def knn *a KNN.new([a].flatten.compact) end |
#list(name, options = {}) ⇒ Object
Define a list attribute
40 41 42 43 44 45 46 |
# File 'lib/valkey/objects.rb', line 40 def list(name, = {}) key_name = [:key] || name.to_s define_method(name) do ValkeyObjects::List.new("#{self.class.name.downcase}:#{@id}:list:#{key_name}", self.class.valkey) end end |
#set(name, options = {}) ⇒ Object
Define a set attribute
49 50 51 52 53 54 55 |
# File 'lib/valkey/objects.rb', line 49 def set(name, = {}) key_name = [:key] || name.to_s define_method(name) do ValkeyObjects::Set.new("#{self.class.name.downcase}:#{@id}:set:#{key_name}", self.class.valkey) end end |
#sorted_set(name, options = {}) ⇒ Object
Define a sorted set attribute
67 68 69 70 71 72 73 |
# File 'lib/valkey/objects.rb', line 67 def sorted_set(name, = {}) key_name = [:key] || name.to_s define_method(name) do ValkeyObjects::SortedSet.new("#{self.class.name.downcase}:#{@id}:sorted_set:#{key_name}", self.class.valkey) end end |
#valkey ⇒ Object
9 10 11 |
# File 'lib/valkey/objects.rb', line 9 def valkey @valkey ||= Redis.new end |
#valkey=(client) ⇒ Object
13 14 15 |
# File 'lib/valkey/objects.rb', line 13 def valkey=(client) @valkey = client end |
#value(name, options = {}) ⇒ Object
Define a value (string) attribute
22 23 24 25 26 27 28 |
# File 'lib/valkey/objects.rb', line 22 def value(name, = {}) key_name = [:key] || name.to_s define_method(name) do ValkeyObjects::Value.new("#{self.class.name.downcase}:#{@id}:value:#{key_name}", self.class.valkey) end end |