Class: Juvet::Adapters::RedisAdapter

Inherits:
Object
  • Object
show all
Defined in:
lib/juvet/adapters/redis_adapter.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(collection, options = {}) ⇒ RedisAdapter

Returns a new instance of RedisAdapter.



9
10
11
12
# File 'lib/juvet/adapters/redis_adapter.rb', line 9

def initialize(collection, options={})
  @collection = collection
  @redis = Redis.new options
end

Instance Attribute Details

#collectionObject (readonly)

Returns the value of attribute collection.



7
8
9
# File 'lib/juvet/adapters/redis_adapter.rb', line 7

def collection
  @collection
end

#redisObject (readonly)

Returns the value of attribute redis.



7
8
9
# File 'lib/juvet/adapters/redis_adapter.rb', line 7

def redis
  @redis
end

Instance Method Details

#allObject



14
15
16
17
18
# File 'lib/juvet/adapters/redis_adapter.rb', line 14

def all
  redis.keys("#{collection_prefix}:*").map do |key|
    find_by_key(key)
  end
end

#create(entity) ⇒ Object



20
21
22
# File 'lib/juvet/adapters/redis_adapter.rb', line 20

def create(entity)
  update_attributes entity
end

#destroy(id) ⇒ Object



24
25
26
# File 'lib/juvet/adapters/redis_adapter.rb', line 24

def destroy(id)
  redis.del collection_key(id)
end

#find(id) ⇒ Object



28
29
30
# File 'lib/juvet/adapters/redis_adapter.rb', line 28

def find(id)
  find_by_key collection_key(id)
end

#persist(entity) ⇒ Object



32
33
34
# File 'lib/juvet/adapters/redis_adapter.rb', line 32

def persist(entity)
  find(entity.id).nil? ? create(entity) : update_attributes(entity)
end

#update(entity) ⇒ Object



36
37
38
39
# File 'lib/juvet/adapters/redis_adapter.rb', line 36

def update(entity)
  raise EntityNotFoundError if find(entity.id).nil?
  update_attributes entity
end