class ActiveRedisDB::List
Public Class Methods
all(key)
click to toggle source
# File lib/active_redis_db/list.rb, line 31 def all(key) value = client.lrange(normalize_key(key), 0, -1) metatransform(value) end
between(key, start = 1, finish = 0)
click to toggle source
# File lib/active_redis_db/list.rb, line 26 def between(key, start = 1, finish = 0) value = client.lrange(normalize_key(key), (start - 1), (finish - 1)) metatransform(value) end
count(key)
click to toggle source
# File lib/active_redis_db/list.rb, line 36 def count(key) client.llen(normalize_key(key)) end
create(key, value, order = :prepend)
click to toggle source
# File lib/active_redis_db/list.rb, line 40 def create(key, value, order = :prepend) normalized_key = normalize_key(key) append?(order) ? client.rpush(normalized_key, value) : client.lpush(normalized_key, value) end
create!(key, value, order = :prepend)
click to toggle source
# File lib/active_redis_db/list.rb, line 46 def create!(key, value, order = :prepend) normalized_key = normalize_key(key) append?(order) ? client.rpushx(normalized_key, value) : client.lpushx(normalized_key, value) end
create_after(key, pivot, value)
click to toggle source
# File lib/active_redis_db/list.rb, line 70 def create_after(key, pivot, value) client.linsert(normalize_key(key), :after, pivot, value) end
create_before(key, pivot, value)
click to toggle source
# File lib/active_redis_db/list.rb, line 66 def create_before(key, pivot, value) client.linsert(normalize_key(key), :before, pivot, value) end
create_limit(key, value, limit, order = :prepend)
click to toggle source
# File lib/active_redis_db/list.rb, line 52 def create_limit(key, value, limit, order = :prepend) normalized_key = normalize_key(key) append?(order) ? client.rpush(normalized_key, value) : client.lpush(normalized_key, value) client.ltrim(normalized_key, 0, (limit - 1)) end
create_limit!(key, value, limit, order = :prepend)
click to toggle source
# File lib/active_redis_db/list.rb, line 59 def create_limit!(key, value, limit, order = :prepend) normalized_key = normalize_key(key) append?(order) ? client.rpushx(normalized_key, value) : client.lpushx(normalized_key, value) client.ltrim(normalized_key, 0, (limit - 1)) end
destroy(key, count, value)
click to toggle source
# File lib/active_redis_db/list.rb, line 90 def destroy(key, count, value) client.lrem(normalize_key(key), count, value) end
destroy_all(key)
click to toggle source
# File lib/active_redis_db/list.rb, line 106 def destroy_all(key) client.ltrim(normalize_key(key), -1, 0) end
destroy_except(key, start, finish)
click to toggle source
# File lib/active_redis_db/list.rb, line 102 def destroy_except(key, start, finish) client.ltrim(normalize_key(key), (start - 1), (finish - 1)) end
destroy_first(key, limit = 1)
click to toggle source
# File lib/active_redis_db/list.rb, line 94 def destroy_first(key, limit = 1) client.ltrim(normalize_key(key), limit, -1) end
destroy_last(key, limit = 1)
click to toggle source
# File lib/active_redis_db/list.rb, line 98 def destroy_last(key, limit = 1) client.ltrim(normalize_key(key), 0, -(limit + 1)) end
find(key, position = 1)
click to toggle source
# File lib/active_redis_db/list.rb, line 6 def find(key, position = 1) value = client.lindex(normalize_key(key), (position - 1)) value = metamorph(value) if evaluate? value end
first(key, limit = 1)
click to toggle source
# File lib/active_redis_db/list.rb, line 12 def first(key, limit = 1) value = client.lrange(normalize_key(key), 0, -1) value = (limit == 1 ? value.first : value.first(limit)) value = metamorph(value) if evaluate? value end
last(key, limit = 1)
click to toggle source
# File lib/active_redis_db/list.rb, line 19 def last(key, limit = 1) value = client.lrange(normalize_key(key), 0, -1) value = (limit == 1 ? value.last : value.last(limit)) value = metamorph(value) if evaluate? value end
move(key, desination)
click to toggle source
# File lib/active_redis_db/list.rb, line 78 def move(key, desination) value = client.rpoplpush(normalize_key(key), normalize_key(desination)) value = metamorph(value) if evaluate? value end
move_blocking(key, desination)
click to toggle source
# File lib/active_redis_db/list.rb, line 84 def move_blocking(key, desination) value = brpoplpush(normalize_key(key), normalize_key(desination)) value = metamorph(value) if evaluate? value end
pop(key, order = :prepend)
click to toggle source
# File lib/active_redis_db/list.rb, line 110 def pop(key, order = :prepend) value = append?(order) ? client.rpop(key) : client.lpop(key) value = metamorph(value) if evaluate? value end
pop_blocking(keys, opts = {})
click to toggle source
# File lib/active_redis_db/list.rb, line 116 def pop_blocking(keys, opts = {}) timeout = opts[:timeout] || 0 value = if append?(opts[:order] || :prepend) client.brpop(keys, timeout) else client.blpop(keys, timeout) end value = metamorph(value) if evaluate? value end
update(key, index, value)
click to toggle source
# File lib/active_redis_db/list.rb, line 74 def update(key, index, value) client.lset(normalize_key(key), index, value) end