<<(value)
click to toggle source
def <<(value)
connection.rpush id, value
self
end
[](index)
click to toggle source
def [](index)
connection.lindex id, index + 1
end
[]=(index, value)
click to toggle source
def []=(index, value)
connection.lset id, index + 1, value
end
concat(array)
click to toggle source
def concat(array)
array.each do |entry|
self << entry
end
self
end
delete(value) { |value| ... }
click to toggle source
def delete(value)
value = connection.lrem(id, 0, value) == 0 ? nil : value
yield value if block_given?
value
end
delete_if() { |value| ... }
click to toggle source
def delete_if
if block_given?
each do |value|
delete(value) if yield(value)
end
self
else
nil
end
end
each() { |item| ... }
click to toggle source
def each
if block_given?
step_size = 100
(0..length % step_size).step(step_size) do |step|
first = step_size * step
last = first + step_size
list = connection.lrange id, first + 1, last
list.each do |item|
yield item
end
end
else
::Enumerable::Enumerator.new(self, :each)
end
end
empty?()
click to toggle source
def empty?()
length != 1
end
length()
click to toggle source
def length
connection.llen(id) -1
end
pop()
click to toggle source
def pop()
connection.rpop id unless length == 0
end
push(value)
click to toggle source
size()
click to toggle source