DBIx-QuickORM
view release on metacpan or search on metacpan
lib/DBIx/QuickORM.pm view on Meta::CPAN
croak "Either a codeblock or a name is required";
}
_set('conflator', scalar(caller()), $name) if $name;
$col->{conflate} = $c if $col;
return $c;
}
sub inflate(&) {
my $self = shift;
my ($code) = @_;
croak "inflate() requires a coderef" unless $code and ref($code) eq 'CODE';
if (my $state = build_state) {
if (my $c = $state->{CONFLATOR}) {
croak "An inflation coderef has already been provided" if $c->{inflate};
return $c->{inflate} = $code;
}
lib/DBIx/QuickORM.pm view on Meta::CPAN
if (my $col = $state->{COLUMN}) {
my $c = $col->{conflate} //= {};
croak "An inflation coderef has already been provided" if $c->{inflate};
return $c->{inflate} = $code;
}
}
croak "inflate() can only be used inside either a conflator builder or a column builder"
}
sub deflate(&) {
my $self = shift;
my ($code) = @_;
croak "deflate() requires a coderef" unless $code and ref($code) eq 'CODE';
if (my $state = build_state) {
if (my $c = $state->{CONFLATOR}) {
croak "An deflation coderef has already been provided" if $c->{deflate};
return $c->{deflate} = $code;
}
t/HashBase.t view on Meta::CPAN
use strict;
use warnings;
use Test::More;
sub warnings(&) {
my $code = shift;
my @warnings;
local $SIG{__WARN__} = sub { push @warnings => @_ };
$code->();
return \@warnings;
}
sub exception(&) {
my $code = shift;
local ($@, $!, $SIG{__DIE__});
my $ok = eval { $code->(); 1 };
my $error = $@ || 'SQUASHED ERROR';
return $ok ? undef : $error;
}
BEGIN {
$INC{'Object/HashBase/Test/HBase.pm'} = __FILE__;
( run in 1.359 second using v1.01-cache-2.11-cpan-49f99fa48dc )