Class: MemcacheMock

Inherits:
Object
  • Object
show all
Defined in:
lib/memcache_mock.rb,
lib/memcache_mock/version.rb

Constant Summary collapse

VERSION =
"0.0.11"

Instance Method Summary collapse

Constructor Details

#initializeMemcacheMock

Returns a new instance of MemcacheMock.



4
5
6
# File 'lib/memcache_mock.rb', line 4

def initialize( )
  @values = {}
end

Instance Method Details

#append(key, value) ⇒ Object



33
34
35
36
37
# File 'lib/memcache_mock.rb', line 33

def append( key, value )
  if @values[key]
    @values[key] += value
  end
end

#delete(key) ⇒ Object



39
40
41
# File 'lib/memcache_mock.rb', line 39

def delete(key)
  @values.delete(key)
end

#fetch(key, ttl = nil, options = nil) ⇒ Object



43
44
45
46
47
48
49
50
51
# File 'lib/memcache_mock.rb', line 43

def fetch( key, ttl=nil, options=nil )
  val = get( key )

  if val.nil? && block_given?
    val = yield
    set( key, val )
  end
  val
end

#flushObject



53
54
55
# File 'lib/memcache_mock.rb', line 53

def flush
  @values.clear
end

#flush_allObject



57
58
59
# File 'lib/memcache_mock.rb', line 57

def flush_all
  flush
end

#get(key) ⇒ Object



16
17
18
# File 'lib/memcache_mock.rb', line 16

def get( key )
  @values.fetch(key, nil)
end

#get_multi(*keys) ⇒ Object



20
21
22
23
# File 'lib/memcache_mock.rb', line 20

def get_multi( *keys )
  keys.flatten!
  @values.select { |k, v| keys.include?( k ) }
end

#incr(key, value, ttl, default_value) ⇒ Object



8
9
10
11
12
13
14
# File 'lib/memcache_mock.rb', line 8

def incr( key, value, ttl, default_value )
  if @values[key]
    append( key, value )
  else
    @values[key] = default_value
  end
end

#set(key, value, ttl = nil, options = {}) ⇒ Object



25
26
27
# File 'lib/memcache_mock.rb', line 25

def set( key, value, ttl = nil, options = {} )
  @values[key] = value
end

#update(key, default, ttl = nil, options = nil) ⇒ Object



29
30
31
# File 'lib/memcache_mock.rb', line 29

def update( key, default, ttl = nil, options = nil )
  @values[key] = yield( @values.fetch(key, default ))
end