/src/Faker/ORM/Mandango/ColumnTypeGuesser.php

https://github.com/JhonnyL/Faker · PHP · 33 lines · 28 code · 4 blank · 1 comment · 1 complexity · a564620ec75f815b67f9291dba814c64 MD5 · raw file

  1. <?php
  2. namespace Faker\ORM\Mandango;
  3. class ColumnTypeGuesser
  4. {
  5. protected $generator;
  6. public function __construct(\Faker\Generator $generator)
  7. {
  8. $this->generator = $generator;
  9. }
  10. public function guessFormat($field)
  11. {
  12. $generator = $this->generator;
  13. switch ($field['type']) {
  14. case 'boolean':
  15. return function() use ($generator) { return $generator->boolean; };
  16. case 'integer':
  17. return function() { return mt_rand(0,intval('4294967295')); };
  18. case 'float':
  19. return function() { return mt_rand(0,intval('4294967295'))/mt_rand(1,intval('4294967295')); };
  20. case 'string':
  21. return function() use ($generator) { return $generator->text(255); };
  22. case 'date':
  23. return function() use ($generator) { return $generator->datetime; };
  24. default:
  25. // no smart way to guess what the user expects here
  26. return null;
  27. }
  28. }
  29. }