DBIx-Class-Helper-TableSample
view release on metacpan or search on metacpan
t/lib/Test/TableSample/Role.pm view on Meta::CPAN
package Test::TableSample::Role;
use Test::Roo::Role;
use Class::Load qw/ load_class /;
use Ref::Util qw/ is_plain_hashref /;
use SQL::Abstract::Test import => [qw/ is_same_sql_bind /];
has dsn => (
is => 'lazy',
default => 'dbi:SQLite::memory:',
);
has schema_class => (
is => 'ro',
default => 'Test::Schema',
);
has schema => (
is => 'lazy',
builder => sub {
my ($self) = @_;
my $class = $self->schema_class;
load_class($class);
return $class->deploy_or_connect( $self->dsn );
},
);
has table_class => (
is => 'ro',
required => 1,
);
has where => (
is => 'ro',
default => sub { return undef },
);
has attr => (
is => 'ro',
required => 1,
);
has resultset => (
is => 'lazy',
builder => sub {
my ($self) = @_;
return $self->schema->resultset( $self->table_class )
->search_rs( $self->where, $self->attr );
},
handles => [qw/ current_source_alias /],
);
has sql => (
is => 'ro',
required => 1,
);
has bind => (
is => 'ro',
default => sub { [] },
);
sub _build_description {
my ($self) = @_;
return $self->sql;
( run in 0.980 second using v1.01-cache-2.11-cpan-39bf76dae61 )