class Hikki::Adapters::MemcacheCollection

Attributes

connection[R]
uuid_generator[R]

Public Class Methods

new(collection, connection, uuid_generator) click to toggle source
Calls superclass method
# File lib/hikki/adapters/memcache_collection.rb, line 6
def initialize(collection, connection, uuid_generator)
  super(collection)
  @connection = connection
  @uuid_generator = uuid_generator
end

Public Instance Methods

all(options={}) click to toggle source
# File lib/hikki/adapters/memcache_collection.rb, line 26
def all(options={})
  []
end
find(id) click to toggle source
# File lib/hikki/adapters/memcache_collection.rb, line 22
def find(id)
  connection.get(key(id)) || {}
end
find_by(field, value, options={}) click to toggle source
# File lib/hikki/adapters/memcache_collection.rb, line 30
def find_by(field, value, options={})
  []
end
id_for(data) click to toggle source
# File lib/hikki/adapters/memcache_collection.rb, line 43
def id_for(data)
  data.fetch('id', uuid_generator.uuid).to_s
end
index(field) click to toggle source
# File lib/hikki/adapters/memcache_collection.rb, line 12
def index(field)
  false
end
remove(id) click to toggle source
# File lib/hikki/adapters/memcache_collection.rb, line 34
def remove(id)
  connection.delete(key(id))
  true
end
remove_all() click to toggle source
# File lib/hikki/adapters/memcache_collection.rb, line 39
def remove_all
  connection.flush
end
save(data) click to toggle source
# File lib/hikki/adapters/memcache_collection.rb, line 16
def save(data)
  data = normalize_data(data)
  connection.set(key(data['id']), data)
  data
end

Private Instance Methods

key(id) click to toggle source
# File lib/hikki/adapters/memcache_collection.rb, line 48
def key(id)
  collection + ':' + id.to_s
end