Liip\RMT\Config\Handler::mergeConfig PHP Method

mergeConfig() protected method

protected mergeConfig ( $branchName = null )
    protected function mergeConfig($branchName = null)
    {
        // Handling the two different config mode (with 'branch-specific' or with '_default' section)
        // See https://github.com/liip/RMT/issues/56 for more info
        if (array_key_exists('_default', $this->rawConfig)) {
            $baseConfig = array_merge($this->getDefaultConfig(), $this->rawConfig['_default']);
            unset($baseConfig['branch-specific']);
            $branchesConfig = $this->rawConfig;
            unset($branchesConfig['_default']);
        } else {
            $baseConfig = array_merge($this->getDefaultConfig(), $this->rawConfig);
            $branchesConfig = $baseConfig['branch-specific'];
            unset($baseConfig['branch-specific']);
        }
        // Return custom branch config
        if (isset($branchName) && isset($branchesConfig[$branchName])) {
            return array_replace_recursive($baseConfig, $branchesConfig[$branchName]);
        }
        return $baseConfig;
    }