Class: Hikki::Adapters::MemcacheCollection

Inherits:
Collection
  • Object
show all
Defined in:
lib/hikki/adapters/memcache_collection.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(collection, connection, uuid_generator) ⇒ MemcacheCollection

Returns a new instance of MemcacheCollection.



6
7
8
9
10
# File 'lib/hikki/adapters/memcache_collection.rb', line 6

def initialize(collection, connection, uuid_generator)
  super(collection)
  @connection = connection
  @uuid_generator = uuid_generator
end

Instance Attribute Details

#connectionObject (readonly)

Returns the value of attribute connection.



4
5
6
# File 'lib/hikki/adapters/memcache_collection.rb', line 4

def connection
  @connection
end

#uuid_generatorObject (readonly)

Returns the value of attribute uuid_generator.



4
5
6
# File 'lib/hikki/adapters/memcache_collection.rb', line 4

def uuid_generator
  @uuid_generator
end

Instance Method Details

#all(options = {}) ⇒ Object



26
27
28
# File 'lib/hikki/adapters/memcache_collection.rb', line 26

def all(options={})
  []
end

#find(id) ⇒ Object



22
23
24
# File 'lib/hikki/adapters/memcache_collection.rb', line 22

def find(id)
  connection.get(key(id)) || {}
end

#find_by(field, value, options = {}) ⇒ Object



30
31
32
# File 'lib/hikki/adapters/memcache_collection.rb', line 30

def find_by(field, value, options={})
  []
end

#id_for(data) ⇒ Object



43
44
45
# File 'lib/hikki/adapters/memcache_collection.rb', line 43

def id_for(data)
  data.fetch('id', uuid_generator.uuid).to_s
end

#index(field) ⇒ Object



12
13
14
# File 'lib/hikki/adapters/memcache_collection.rb', line 12

def index(field)
  false
end

#remove(id) ⇒ Object



34
35
36
37
# File 'lib/hikki/adapters/memcache_collection.rb', line 34

def remove(id)
  connection.delete(key(id))
  true
end

#remove_allObject



39
40
41
# File 'lib/hikki/adapters/memcache_collection.rb', line 39

def remove_all
  connection.flush
end

#save(data) ⇒ Object



16
17
18
19
20
# File 'lib/hikki/adapters/memcache_collection.rb', line 16

def save(data)
  data = normalize_data(data)
  connection.set(key(data['id']), data)
  data
end