Version 1
[yaffs-website] / vendor / consolidation / annotated-command / src / Cache / CacheWrapper.php
diff --git a/vendor/consolidation/annotated-command/src/Cache/CacheWrapper.php b/vendor/consolidation/annotated-command/src/Cache/CacheWrapper.php
new file mode 100644 (file)
index 0000000..ed5a5ee
--- /dev/null
@@ -0,0 +1,49 @@
+<?php
+namespace Consolidation\AnnotatedCommand\Cache;
+
+/**
+ * Make a generic cache object conform to our expected interface.
+ */
+class CacheWrapper implements SimpleCacheInterface
+{
+    protected $dataStore;
+
+    public function __construct($dataStore)
+    {
+        $this->dataStore = $dataStore;
+    }
+
+    /**
+     * Test for an entry from the cache
+     * @param string $key
+     * @return boolean
+     */
+    public function has($key)
+    {
+        if (method_exists($this->dataStore, 'has')) {
+            return $this->dataStore->has($key);
+        }
+        $test = $this->dataStore->get($key);
+        return !empty($test);
+    }
+
+    /**
+     * Get an entry from the cache
+     * @param string $key
+     * @return array
+     */
+    public function get($key)
+    {
+        return (array) $this->dataStore->get($key);
+    }
+
+    /**
+     * Store an entry in the cache
+     * @param string $key
+     * @param array $data
+     */
+    public function set($key, $data)
+    {
+        $this->dataStore->set($key, $data);
+    }
+}