MDL-43349 cache: is_ready now checks are_requirements_met by default
authorSam Hemelryk <sam@moodle.com>
Wed, 1 Jan 2014 20:43:19 +0000 (09:43 +1300)
committerSam Hemelryk <sam@moodle.com>
Wed, 1 Jan 2014 20:55:51 +0000 (09:55 +1300)
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 55ee3ad..14eecd8 100644 (file)
@@ -129,14 +129,6 @@ 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 954267e..2a9621c 100644 (file)
@@ -274,7 +274,7 @@ class cache_factory {
         }
         /* @var cache_store $store */
         $store = $this->stores[$name];
-        if (!$store::are_requirements_met() || !$store->is_ready() || !$store->is_supported_mode($definition->get_mode())) {
+        if (!$store->is_ready() || !$store->is_supported_mode($definition->get_mode())) {
             return false;
         }
         // We always create a clone of the original store.
index 96bedb2..c21ac47 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::are_requirements_met() || !$instance->is_ready()) {
+        if (!$instance->is_ready()) {
             unset($instance);
             return false;
         }
index d757157..18fb963 100644 (file)
@@ -179,7 +179,9 @@ abstract class cache_store implements cache_store_interface {
      * Returns true if this cache store instance is ready to use.
      * @return bool
      */
-    abstract public function is_ready();
+    public function is_ready() {
+        return self::are_requirements_met();
+    }
 
     /**
      * Retrieves an item from the cache store given its key.
index d5e245e..d320b8c 100644 (file)
@@ -222,14 +222,6 @@ 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 e54ee83..5f7de85 100644 (file)
@@ -217,14 +217,6 @@ 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 38f9c4b..75ce1e6 100644 (file)
@@ -1,6 +1,9 @@
 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.