DBIx::Class::Factory
-------------------

Ruby has `factory_girl`, Python has `factory_boy`.

Now Perl has `DBIx::Class::Factory`.

Create factory:

```perl
{
    package My::UserFactory;

    use base qw(DBIx::Class::Factory);

    __PACKAGE__->resultset(My::Schema->resultset('User'));
    __PACKAGE__->fields({
        name => __PACKAGE__->seq(sub {'User #' . shift}),
        status => 'new',
    });
}

{
    package My::SuperUserFactory;

    use base qw(DBIx::Class::Factory);

    __PACKAGE__->base_factory('My::UserFactory'));
    __PACKAGE__->field(superuser => 1);
}
```

Use factory:

```perl
my $user = My::UserFactory->create();
my @verified_users = @{ My::UserFactory->create_batch(3, {status => 'verified'}) };

my $superuser = My::SuperUserFactory->build();
$superuser->insert();
````