aboutsummaryrefslogtreecommitdiffstats
path: root/activesupport/lib/active_support/cache/null_store.rb
diff options
context:
space:
mode:
Diffstat (limited to 'activesupport/lib/active_support/cache/null_store.rb')
-rw-r--r--activesupport/lib/active_support/cache/null_store.rb48
1 files changed, 48 insertions, 0 deletions
diff --git a/activesupport/lib/active_support/cache/null_store.rb b/activesupport/lib/active_support/cache/null_store.rb
new file mode 100644
index 0000000000..8452a28fd8
--- /dev/null
+++ b/activesupport/lib/active_support/cache/null_store.rb
@@ -0,0 +1,48 @@
+# frozen_string_literal: true
+
+module ActiveSupport
+ module Cache
+ # A cache store implementation which doesn't actually store anything. Useful in
+ # development and test environments where you don't want caching turned on but
+ # need to go through the caching interface.
+ #
+ # This cache does implement the local cache strategy, so values will actually
+ # be cached inside blocks that utilize this strategy. See
+ # ActiveSupport::Cache::Strategy::LocalCache for more details.
+ class NullStore < Store
+ prepend Strategy::LocalCache
+
+ # Advertise cache versioning support.
+ def self.supports_cache_versioning?
+ true
+ end
+
+ def clear(options = nil)
+ end
+
+ def cleanup(options = nil)
+ end
+
+ def increment(name, amount = 1, options = nil)
+ end
+
+ def decrement(name, amount = 1, options = nil)
+ end
+
+ def delete_matched(matcher, options = nil)
+ end
+
+ private
+ def read_entry(key, options)
+ end
+
+ def write_entry(key, entry, options)
+ true
+ end
+
+ def delete_entry(key, options)
+ false
+ end
+ end
+ end
+end