public function setup(Model $Model, $config = array())
{
$_defaults = array('config' => 'default', 'clearOnDelete' => true, 'clearOnSave' => true, 'auto' => false, 'gzip' => false);
$settings = array_merge($_defaults, $config);
$Model->_useDbConfig = $Model->useDbConfig;
$ds = ConnectionManager::getDataSource($Model->useDbConfig);
if (!in_array('cacher', ConnectionManager::sourceList())) {
$settings += array('original' => $Model->useDbConfig, 'datasource' => 'Cacher.CacheSource');
$settings = array_merge($ds->config, $settings);
ConnectionManager::create('cacher', $settings);
} else {
$ds = ConnectionManager::getDataSource('cacher');
$ds->config = array_merge($ds->config, $settings);
}
if (!isset($this->settings[$Model->alias])) {
$this->settings[$Model->alias] = $settings;
}
$this->settings[$Model->alias] = array_merge($this->settings[$Model->alias], $settings);
}