/src/Faker/ORM/Mandango/ColumnTypeGuesser.php
PHP | 49 lines | 38 code | 4 blank | 7 comment | 1 complexity | 4fd1b603a48ecfe5cd4de4942f191d8e MD5 | raw file
- <?php
- namespace Faker\ORM\Mandango;
- class ColumnTypeGuesser
- {
- protected $generator;
- /**
- * @param \Faker\Generator $generator
- */
- public function __construct(\Faker\Generator $generator)
- {
- $this->generator = $generator;
- }
- /**
- * @return \Closure|null
- */
- public function guessFormat($field)
- {
- $generator = $this->generator;
- switch ($field['type']) {
- case 'boolean':
- return function () use ($generator) {
- return $generator->boolean;
- };
- case 'integer':
- return function () {
- return mt_rand(0, intval('4294967295'));
- };
- case 'float':
- return function () {
- return mt_rand(0, intval('4294967295'))/mt_rand(1, intval('4294967295'));
- };
- case 'string':
- return function () use ($generator) {
- return $generator->text(255);
- };
- case 'date':
- return function () use ($generator) {
- return $generator->datetime;
- };
- default:
- // no smart way to guess what the user expects here
- return null;
- }
- }
- }