NelmioApiDocBundle/ModelDescriber/ScalarModelDescriber.php

38 lines
995 B
PHP
Raw Normal View History

2017-01-14 17:36:56 +01:00
<?php
/*
* This file is part of the NelmioApiDocBundle package.
*
* (c) Nelmio
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace Nelmio\ApiDocBundle\ModelDescriber;
use EXSyst\Component\Swagger\Schema;
use Nelmio\ApiDocBundle\Model\Model;
use Symfony\Component\PropertyInfo\Type;
class ScalarModelDescriber implements ModelDescriberInterface
{
private static $supportedTypes = [
Type::BUILTIN_TYPE_INT => 'integer',
Type::BUILTIN_TYPE_FLOAT => 'float',
Type::BUILTIN_TYPE_STRING => 'string',
2017-01-23 19:46:38 +01:00
Type::BUILTIN_TYPE_BOOL => 'boolean',
2017-01-14 17:36:56 +01:00
];
public function describe(Model $model, Schema $schema)
{
$type = self::$supportedTypes[$model->getType()->getBuiltinType()];
$schema->setType($type);
}
public function supports(Model $model)
{
return isset(self::$supportedTypes[$model->getType()->getBuiltinType()]);
}
}