Sha256: 516b7a0f8ff4586e3ffd270aab94193b2eca49b7cdb2c444fb98ce9a298b11e6
Contents?: true
Size: 1.02 KB
Versions: 9
Compression:
Stored size: 1.02 KB
Contents
module Picky module Backends class Redis module DirectlyManipulable attr_accessor :backend, :key def self.make backend, list, key list.extend DirectlyManipulable list.backend = backend list.key = key end # TODO Current implementation is very brittle. # @@append_index = 0 def << value super value backend.client.zadd "#{backend.namespace}:#{key}", (@@append_index+=1), value backend[key] end # TODO Current implementation is very brittle. # @@unshift_index = 0 def unshift value super value backend.client.zadd "#{backend.namespace}:#{key}", (@@unshift_index-=1), value backend[key] end def delete value result = super value if result backend.client.zrem "#{backend.namespace}:#{key}", value # TODO if super(value) ? end result end end end end end
Version data entries
9 entries across 9 versions & 1 rubygems