argument('name');
$path = $this->option('path');
$manager = Admin::extension()->setOutput($this->output);
if ($path) {
if (! is_file($path)) {
$path = rtrim($path, '/').sprintf('/%s.zip', str_replace('/', '.', $name));
}
} else {
$extensionDetails = $manager->requestDetails($name);
$path = $hash = Arr::get($extensionDetails, 'hash');
$this->output->writeln(sprintf('Downloading extension: %s[%s]', $name, $hash));
$manager->download($name, $hash, true);
}
$this->output->writeln(sprintf('Unpacking extension: %s', $name));
$manager->extract($path);
$this->output->writeln(sprintf('Migrating extension...', $name));
Admin::extension()->load();
$manager
->updateManager()
->setOutPut($this->output)
->update($name);
}
}