/home/techb158/ileadtechnology.com/vendor/vimeo/laravel/src
Edit: /home/techb158/ileadtechnology.com/vendor/vimeo/laravel/src/VimeoFactory.php (2018B)
*/
class VimeoFactory
{
/**
* Make a new Vimeo client.
*
* @param string[] $config
*
* @return \Vimeo\Vimeo
*/
public function make(array $config): Vimeo
{
$config = $this->getConfig($config);
return $this->getClient($config);
}
/**
* Get the configuration data.
*
* @param string[] $config
*
* @throws \InvalidArgumentException
*
* @return string[]
*/
protected function getConfig(array $config): array
{
$keys = ['client_id', 'client_secret'];
foreach ($keys as $key) {
if (!array_key_exists($key, $config)) {
throw new InvalidArgumentException("Missing configuration key [$key].");
}
}
return Arr::only($config, ['client_id', 'client_secret', 'access_token']);
}
/**
* Get the Vimeo client.
*
* @param string[] $auth
*
* @return \Vimeo\Vimeo
*/
protected function getClient(array $auth): Vimeo
{
return new Vimeo(
$auth['client_id'],
$auth['client_secret'],
$auth['access_token']
);
}
}