Methods
Constants
NULL = 'remote_cache_store:null'
  this allows caching of the fact that there is nothing in the remote cache
Public Instance methods
clear()
    # File activesupport/lib/active_support/cache/strategy/local_cache.rb, line 89
89:         def clear
90:           local_cache.clear if local_cache
91:           super
92:         end
decrement(key, amount = 1)
    # File activesupport/lib/active_support/cache/strategy/local_cache.rb, line 80
80:         def decrement(key, amount = 1)
81:           if value = super
82:             local_cache.mute { local_cache.write(key, value.to_s) } if local_cache
83:             value
84:           else
85:             nil
86:           end
87:         end
delete(key, options = nil)
    # File activesupport/lib/active_support/cache/strategy/local_cache.rb, line 55
55:         def delete(key, options = nil)
56:           local_cache.mute { local_cache.write(key, NULL) } if local_cache
57:           super
58:         end
exist(key, options = nil)
    # File activesupport/lib/active_support/cache/strategy/local_cache.rb, line 60
60:         def exist(key, options = nil)
61:           value = local_cache.read(key) if local_cache
62:           if value == NULL
63:             false
64:           elsif value
65:             true
66:           else
67:             super
68:           end
69:         end
increment(key, amount = 1)
    # File activesupport/lib/active_support/cache/strategy/local_cache.rb, line 71
71:         def increment(key, amount = 1)
72:           if value = super
73:             local_cache.mute { local_cache.write(key, value.to_s) } if local_cache
74:             value
75:           else
76:             nil
77:           end
78:         end
middleware()
    # File activesupport/lib/active_support/cache/strategy/local_cache.rb, line 15
15:         def middleware
16:           @middleware ||= begin
17:             klass = Class.new
18:             klass.class_eval("def initialize(app)\n@app = app\nend\n\ndef call(env)\nThread.current[:\#{thread_local_key}] = MemoryStore.new\n@app.call(env)\nensure\nThread.current[:\#{thread_local_key}] = nil\nend\n", __FILE__, __LINE__ + 1)
19:             klass
20:           end
21:         end
read(key, options = nil)
    # File activesupport/lib/active_support/cache/strategy/local_cache.rb, line 35
35:         def read(key, options = nil)
36:           value = local_cache && local_cache.read(key)
37:           if value == NULL
38:             nil
39:           elsif value.nil?
40:             value = super
41:             local_cache.mute { local_cache.write(key, value || NULL) } if local_cache
42:             value.duplicable? ? value.dup : value
43:           else
44:             # forcing the value to be immutable
45:             value.duplicable? ? value.dup : value
46:           end
47:         end
with_local_cache() {|| ...}
    # File activesupport/lib/active_support/cache/strategy/local_cache.rb, line 8
 8:         def with_local_cache
 9:           Thread.current[thread_local_key] = MemoryStore.new
10:           yield
11:         ensure
12:           Thread.current[thread_local_key] = nil
13:         end
write(key, value, options = nil)
    # File activesupport/lib/active_support/cache/strategy/local_cache.rb, line 49
49:         def write(key, value, options = nil)
50:           value = value.to_s if respond_to?(:raw?) && raw?(options)
51:           local_cache.mute { local_cache.write(key, value || NULL) } if local_cache
52:           super
53:         end