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.



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

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

Instance Attribute Details

#keyObject (readonly)

Returns the value of attribute key.



241
242
243
# File 'lib/valkey/objects.rb', line 241

def key
  @key
end

#valkeyObject (readonly)

Returns the value of attribute valkey.



241
242
243
# File 'lib/valkey/objects.rb', line 241

def valkey
  @valkey
end

Instance Method Details

#<<(value) ⇒ Object



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

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

#[](index) ⇒ Object



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

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

#[]=(index, value) ⇒ Object



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

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

#clearObject



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

def clear
  valkey.del(key)
end

#deleteObject



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

def delete
  clear
end

#each(&block) ⇒ Object



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

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

#expire(seconds) ⇒ Object



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

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

#expireat(unix_timestamp) ⇒ Object



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

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

#knnObject

KNN ###



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

def knn
  KNN.new(values)
end

#lengthObject Also known as: size



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

def length
  valkey.llen(key)
end

#persistObject



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

def persist
  valkey.persist(key)
end

#popObject



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

def pop
  valkey.rpop(key)
end

#push(*values) ⇒ Object



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

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

#range(start_idx, end_idx) ⇒ Object



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

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

#shiftObject



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

def shift
  valkey.lpop(key)
end

#ttlObject



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

def ttl
  valkey.ttl(key)
end

#unshift(*values) ⇒ Object



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

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

#valuesObject



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

def values
  range(0, -1)
end