filesystem->getMetadata($path); if ( ! $object) { return false; } $keys = array_diff($metadata, array_keys($object)); foreach ($keys as $key) { if ( ! method_exists($this->filesystem, $method = 'get' . ucfirst($key))) { throw new InvalidArgumentException('Could not fetch metadata: ' . $key); } $object[$key] = $this->filesystem->{$method}($path); } return $object; } }