Revert "MDL-43349 cache: is_ready now checks are_requirements_met by default"
authorDan Poltawski <dan@moodle.com>
Mon, 6 Jan 2014 06:47:12 +0000 (14:47 +0800)
committerDan Poltawski <dan@moodle.com>
Mon, 6 Jan 2014 06:47:12 +0000 (14:47 +0800)
cache/classes/dummystore.php
cache/classes/factory.php
cache/classes/helper.php
cache/classes/store.php
cache/stores/session/lib.php
cache/stores/static/lib.php
cache/upgrade.txt

index 14eecd8..55ee3ad 100644 (file)
@@ -129,6 +129,14 @@ class cachestore_dummy extends cache_store {
         return (!empty($this->definition));
     }
 
+    /**
+     * Returns true if this is ready.
+     * @return bool
+     */
+    public function is_ready() {
+        return true;
+    }
+
     /**
      * Returns true the given mode is supported.
      * @param int $mode
index 2a9621c..954267e 100644 (file)
@@ -274,7 +274,7 @@ class cache_factory {
         }
         /* @var cache_store $store */
         $store = $this->stores[$name];
-        if (!$store->is_ready() || !$store->is_supported_mode($definition->get_mode())) {
+        if (!$store::are_requirements_met() || !$store->is_ready() || !$store->is_supported_mode($definition->get_mode())) {
             return false;
         }
         // We always create a clone of the original store.
index c21ac47..96bedb2 100644 (file)
@@ -470,7 +470,7 @@ class cache_helper {
         // Found the store: is it ready?
         /* @var cache_store $instance */
         $instance = new $class($store['name'], $store['configuration']);
-        if (!$instance->is_ready()) {
+        if (!$instance::are_requirements_met() || !$instance->is_ready()) {
             unset($instance);
             return false;
         }
index 18fb963..d757157 100644 (file)
@@ -179,9 +179,7 @@ abstract class cache_store implements cache_store_interface {
      * Returns true if this cache store instance is ready to use.
      * @return bool
      */
-    public function is_ready() {
-        return self::are_requirements_met();
-    }
+    abstract public function is_ready();
 
     /**
      * Retrieves an item from the cache store given its key.
index d320b8c..d5e245e 100644 (file)
@@ -222,6 +222,14 @@ class cachestore_session extends session_data_store implements cache_is_key_awar
         return (is_array($this->store));
     }
 
+    /**
+     * Returns true if this store instance is ready to be used.
+     * @return bool
+     */
+    public function is_ready() {
+        return true;
+    }
+
     /**
      * Retrieves an item from the cache store given its key.
      *
index 5f7de85..e54ee83 100644 (file)
@@ -217,6 +217,14 @@ class cachestore_static extends static_data_store implements cache_is_key_aware,
         return (is_array($this->store));
     }
 
+    /**
+     * Returns true if this store instance is ready to be used.
+     * @return bool
+     */
+    public function is_ready() {
+        return true;
+    }
+
     /**
      * Retrieves an item from the cache store given its key.
      *
index 75ce1e6..38f9c4b 100644 (file)
@@ -1,9 +1,6 @@
 This files describes API changes in /cache/stores/* - cache store plugins.
 Information provided here is intended especially for developers.
 
-=== 2.7 ===
-* cache_store::is_ready is no longer abstract, calling cache_store::are_requirements_met by default.
-
 === 2.6 ===
 * All cache instances are recorded and subsequent requests are given a reference to the original instance.
 * The persistent option for the cache definition has been deprecated. Please use the staticacceleration option instead.