Class: MemcacheMock

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

Constant Summary collapse

VERSION =
"0.0.14"

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



41
42
43
44
45
# File 'lib/memcache_mock.rb', line 41

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

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



16
17
18
19
20
21
22
# File 'lib/memcache_mock.rb', line 16

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

#delete(key) ⇒ Object



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

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

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



57
58
59
60
61
62
63
64
65
# File 'lib/memcache_mock.rb', line 57

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

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

#flushObject



67
68
69
# File 'lib/memcache_mock.rb', line 67

def flush
  @values.clear
end

#flush_allObject



71
72
73
# File 'lib/memcache_mock.rb', line 71

def flush_all
  flush
end

#get(key) ⇒ Object



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

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

#get_multi(*keys) ⇒ Object



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

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



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

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

#substract(key, value) ⇒ Object



47
48
49
50
51
# File 'lib/memcache_mock.rb', line 47

def substract( key, value )
  if @values[key]
    @values[key] -= value
  end
end

#touch(key, ttl = nil) ⇒ Object



75
76
# File 'lib/memcache_mock.rb', line 75

def touch(key, ttl = nil)
end

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



37
38
39
# File 'lib/memcache_mock.rb', line 37

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