public function register(ContainerInterface $container, Configurable $config)
{
if (!$config instanceof Config) {
throw new \InvalidArgumentException('Wrong Config object');
}
$hateoas = HateoasBuilder::create();
$hateoas->setDebug($config->debug);
$hateoas->setUrlGenerator(null, new CallableUrlGenerator($config->urlGenerator));
if (!$config->debug) {
$hateoas->setCacheDir($config->cacheDir);
$hateoas->addMetadataDir($config->metadataDir);
}
$container->add($config->getServiceName(), $hateoas->build());
}