/**
* @param Collection $config
* @param BuilderInterface $builder
*/
private function executeBuilderMethods(Collection $config, BuilderInterface $builder)
{
if ($config->has('identity_file')) {
if ($config['identity_file'] === null) {
$builder->identityFile();
} else {
$builder->identityFile($config['identity_file']['public_key'], $config['identity_file']['private_key'], $config['identity_file']['password']);
}
unset($config['identity_file']);
}
if ($config->has('identity_config')) {
if ($config['identity_config'] === null) {
$builder->configFile();
} else {
$builder->configFile($config['identity_config']);
}
unset($config['identity_config']);
}
if ($config->has('forward_agent')) {
$builder->forwardAgent();
unset($config['forward_agent']);
}
foreach (['user', 'password', 'stage', 'pem_file'] as $key) {
if ($config->has($key)) {
$method = lcfirst(str_replace(' ', '', ucwords(str_replace('_', ' ', $key))));
$builder->{$method}($config[$key]);
unset($config[$key]);
}
}
// Everything else are set vars.
foreach ($config->toArray() as $key => $value) {
$builder->set($key, $value);
}
}