Version 1
[yaffs-website] / vendor / dflydev / dot-access-configuration / src / Dflydev / DotAccessConfiguration / ConfigurationDataSource.php
diff --git a/vendor/dflydev/dot-access-configuration/src/Dflydev/DotAccessConfiguration/ConfigurationDataSource.php b/vendor/dflydev/dot-access-configuration/src/Dflydev/DotAccessConfiguration/ConfigurationDataSource.php
new file mode 100644 (file)
index 0000000..8f2b983
--- /dev/null
@@ -0,0 +1,67 @@
+<?php
+
+/*
+ * This file is a part of dflydev/dot-access-configuration.
+ * 
+ * (c) Dragonfly Development Inc.
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Dflydev\DotAccessConfiguration;
+
+use Dflydev\PlaceholderResolver\DataSource\DataSourceInterface;
+
+class ConfigurationDataSource implements DataSourceInterface
+{
+    private $configuration;
+
+    /**
+     * Constructor
+     * 
+     * @param ConfigurationInterface $configuration
+     */
+    public function __construct(ConfigurationInterface $configuration)
+    {
+        $this->setConfiguration($configuration);
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function exists($key, $system = false)
+    {
+        if ($system) {
+            return false;
+        }
+
+        return null !== $this->configuration->getRaw($key);
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function get($key, $system = false)
+    {
+        if ($system) {
+            return null;
+        }
+
+        return $this->configuration->getRaw($key);
+    }
+
+    /**
+     * Set Configuration
+     * 
+     * @param ConfigurationInterface $configuration
+     * 
+     * @return ConfigurationDataSource
+     */
+    public function setConfiguration(ConfigurationInterface $configuration)
+    {
+        $this->configuration = $configuration;
+
+        return $this;
+    }
+}