Psecio\Gatekeeper\Gatekeeper::buildDataSource PHP Method

buildDataSource() public static method

Build a datasource object
public static buildDataSource ( array $config, array $result ) : DataSource
$config array Configuration settings
$result array Environment data
return DataSource instance
    public static function buildDataSource(array $config, $result)
    {
        $dsType = isset($config['source']) ? $config['source'] : 'mysql';
        $dsClass = '\\Psecio\\Gatekeeper\\DataSource\\' . ucwords($dsType);
        if (!class_exists($dsClass)) {
            throw new \InvalidArgumentException('Data source type "' . $dsType . '" not valid!');
        }
        try {
            $datasource = new $dsClass($result);
            return $datasource;
        } catch (\Exception $e) {
            throw new \Exception('Error creating data source "' . $dsType . '" (' . $e->getMessage() . ')');
        }
    }