2017 © Pedro Peláez
 

library carwash

Data scrubber for Laravel applications

image

dansoppelsa/carwash

Data scrubber for Laravel applications

  • Tuesday, January 2, 2018
  • by SoupBowlWeb
  • Repository
  • 2 Watchers
  • 2 Stars
  • 6 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 0 Forks
  • 0 Open issues
  • 3 Versions
  • 0 % Grown

The README.md

Carwash

Carwash is a data scrubbing utility for Laravel applications, (*1)

Installation

Install via composer

composer require dansoppelsa/carwash

Usage

1. Publish default config file

php artisan vendor:publish

2. Edit config file at config/carwash.php for your application

<?php

return [
    'users' => [
        'first_name' => 'firstName',
        'last_name' => 'lastName',
        'email' => 'safeEmail'
    ],
    'addresses' => [
        'street' => 'streetAddress',
        'city' => 'city',
        'zip' => 'postcode'
    ],
   'bios' => [
        'content' => 'sentences:2'   
    ]
];

Carwash uses the fabulous Faker package under the hood to generate replacement data. Please refer to the Faker documentation for a complete list of available formatters., (*2)

More generally, the format of the Carwash config file is:, (*3)

<?php

return [
    '[TABLE_NAME]' => [
        '[COLUMN_NAME]' => '[Faker Formatter][:argument1,argument2]'
    ]
];

3. Run Scrub Command

php artisan carwash:scrub

Other

Instead of passing a Faker Formatter as the value for each field in your Carwash config file, alternatively you can set the field value to a Callable that returns the new field value. This closure will receive an instance of Faker and the current value of the attribute being scrubbed., (*4)

<?php

return [
    'users' => [
        'name' => function ($faker, $currentValue) {
            return "{$faker->firstName} {$faker->lastName}";
        },
        'bio' => new BioFormatter
    ]
];

class BioFormatter
{
    public function __invoke($faker)
    {
        return $faker->sentences(42);
    }
}

Callables can also replace entire table configurations allowing full control over what data is scrubbed and how., (*5)

<?php

return [
    'users' => function ($faker, $user) {
        $firstName = $faker->firstName;
        $lastName = $faker->lastName;

        return [
            'first_name' => $firstName,
            'last_name' => $lastName,
            'email' => $firstName . "." . $lastName. "@" . $faker->safeEmailDomain,
            'phone' => substr($user['phone'], 0, 3) . "-555-" . $faker->randomNumber(4)
        ];
    },
];

The Versions

02/01 2018

dev-master

9999999-dev

Data scrubber for Laravel applications

  Sources   Download

MIT

The Requires

 

The Development Requires

by Dan Soppelsa

25/09 2017

0.0.2

0.0.2.0

Data scrubber for Laravel applications

  Sources   Download

MIT

The Requires

 

The Development Requires

by Dan Soppelsa

24/09 2017

0.0.1

0.0.1.0

Data scrubber for Laravel applications

  Sources   Download

MIT

The Requires

 

The Development Requires

by Dan Soppelsa