Class: ValkeyObjects::List

Inherits:
Object
  • Object
show all
Includes:
Enumerable
Defined in:
lib/valkey/objects.rb

Overview

List wrapper

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(key, valkey) ⇒ List

Returns a new instance of List.



247
248
249
250
# File 'lib/valkey/objects.rb', line 247

def initialize(key, valkey)
  @key = key
  @valkey = valkey
end

Instance Attribute Details

#keyObject (readonly)

Returns the value of attribute key.



245
246
247
# File 'lib/valkey/objects.rb', line 245

def key
  @key
end

#valkeyObject (readonly)

Returns the value of attribute valkey.



245
246
247
# File 'lib/valkey/objects.rb', line 245

def valkey
  @valkey
end

Instance Method Details

#<<(value) ⇒ Object



252
253
254
# File 'lib/valkey/objects.rb', line 252

def <<(value)
  valkey.rpush(key, value)
end

#[](index) ⇒ Object



272
273
274
# File 'lib/valkey/objects.rb', line 272

def [](index)
  valkey.lindex(key, index)
end

#[]=(index, value) ⇒ Object



276
277
278
# File 'lib/valkey/objects.rb', line 276

def []=(index, value)
  valkey.lset(key, index, value)
end

#clearObject



319
320
321
# File 'lib/valkey/objects.rb', line 319

def clear
  valkey.del(key)
end

#deleteObject



323
324
325
# File 'lib/valkey/objects.rb', line 323

def delete
  clear
end

#each(&block) ⇒ Object



293
294
295
# File 'lib/valkey/objects.rb', line 293

def each(&block)
  values.each(&block)
end

#expire(seconds) ⇒ Object



297
298
299
# File 'lib/valkey/objects.rb', line 297

def expire(seconds)
  valkey.expire(key, seconds)
end

#expireat(unix_timestamp) ⇒ Object



301
302
303
# File 'lib/valkey/objects.rb', line 301

def expireat(unix_timestamp)
  valkey.expireat(key, unix_timestamp)
end

#knnObject

KNN ###



314
315
316
# File 'lib/valkey/objects.rb', line 314

def knn
  KNN.new(values)
end

#lengthObject Also known as: size



280
281
282
# File 'lib/valkey/objects.rb', line 280

def length
  valkey.llen(key)
end

#persistObject



309
310
311
# File 'lib/valkey/objects.rb', line 309

def persist
  valkey.persist(key)
end

#popObject



264
265
266
# File 'lib/valkey/objects.rb', line 264

def pop
  valkey.rpop(key)
end

#push(*values) ⇒ Object



256
257
258
# File 'lib/valkey/objects.rb', line 256

def push(*values)
  valkey.rpush(key, values)
end

#range(start_idx, end_idx) ⇒ Object



285
286
287
# File 'lib/valkey/objects.rb', line 285

def range(start_idx, end_idx)
  valkey.lrange(key, start_idx, end_idx)
end

#shiftObject



268
269
270
# File 'lib/valkey/objects.rb', line 268

def shift
  valkey.lpop(key)
end

#ttlObject



305
306
307
# File 'lib/valkey/objects.rb', line 305

def ttl
  valkey.ttl(key)
end

#unshift(*values) ⇒ Object



260
261
262
# File 'lib/valkey/objects.rb', line 260

def unshift(*values)
  valkey.lpush(key, values.reverse)
end

#valuesObject



289
290
291
# File 'lib/valkey/objects.rb', line 289

def values
  range(0, -1)
end