Exemple #1
0
 /**
  * Return a phone number
  *
  * @param null $state_code
  * @param null $zip
  * @param bool $include_toll_free
  * @return string
  */
 public function getPhone($state_code = null, $zip = null, $include_toll_free = false)
 {
     if (!empty($zip)) {
         $areacodes = Zipcode::where('zip', $zip)->orderByRaw(Database::random())->first()->area_codes;
     } else {
         // Get a random state if state not provided
         $state_code = !empty($state_code) ? $state_code : $this->getState()->code;
         // Get area codes appropriate for this state
         $areacodes = Zipcode::where('state_code', $state_code)->orderByRaw(Database::random())->first()->area_codes;
     }
     // Get list of valid area codes for the state/zip code
     $code_list = explode(',', $areacodes);
     // @codeCoverageIgnoreStart
     // Add some toll free numbers into the mix.
     if ($include_toll_free === true) {
         $code_list[] = 800;
         $code_list[] = 888;
         $code_list[] = 877;
         $code_list[] = 866;
         $code_list[] = 855;
     }
     // @codeCoverageIgnoreEnd
     // Get a random area code from valid area codes
     $areacode = $this->fromArray($code_list);
     $prefix = rand(100, 999);
     $number = rand(1, 9999);
     return $areacode . '-' . $prefix . '-' . str_pad($number, 4, '0', STR_PAD_LEFT);
 }
Exemple #2
0
use joshmoody\Mock\Models\Database;
use joshmoody\Mock\Models\LastName;
use joshmoody\Mock\Models\FirstName;
use joshmoody\Mock\Models\Street;
use joshmoody\Mock\Models\Zipcode;
use Illuminate\Database\Capsule\Manager as DB;
require_once dirname(__DIR__) . '/vendor/autoload.php';
if ($argc > 1) {
    // Parse the DSN from the command line param
    // Example: php bin/php mysql://username:password@hostname/databasename
    $opts = Database::parseDsn($argv[1]);
} else {
    // Default sqlite database
    $opts = ['driver' => 'sqlite'];
}
Database::init($opts);
// Disable query log so we don't run out of memory logging all these inserts.
DB::connection('mock-data')->disableQueryLog();
function get_filename($file)
{
    return sprintf('%s/data/%s', dirname(__DIR__), $file);
}
function extract_datafiles()
{
    $archive = get_filename('data.zip');
    $extract_path = sprintf('%s/data', dirname(__DIR__));
    $zip = new \ZipArchive();
    $res = $zip->open($archive);
    if ($res === true) {
        $zip->extractTo($extract_path);
        $zip->close();
 public function __construct()
 {
     $dsn = Database::parseDsn(getenv('dsn'));
     $this->generator = new Generator(['dsn' => $dsn]);
 }