DBIx-DR
view release on metacpan or search on metacpan
lib/DBIx/DR.pm view on Meta::CPAN
);
}
return $res unless $iterator;
my ($class, $method) = camelize $iterator;
return $class->$method(
$res, -item => $item, -noitem_iter => $args->{-noitem_iter}) if $method;
return bless $res => $class;
}
sub single {
my ($self, $sql, $args, $item) = &_dr_extract_args_ep;
my $req = $self->{"private_DBIx::DR_template"}->sql_transform(
@$sql,
%$args
);
carp _user_sql($req->sql, $req->bind_values) if $args->{'-warn'};
lib/DBIx/DR.pm view on Meta::CPAN
my $res = $self->selectrow_hashref(
$req->sql,
$args->{-dbi},
$req->bind_values
);
return unless $res;
my ($class, $method) = camelize $item;
return $class->$method($res) if $method;
return bless $res => $class;
}
sub perform {
my ($self, $sql, $args) = &_dr_extract_args_ep;
my $req = $self->{"private_DBIx::DR_template"}->sql_transform(
@$sql,
%$args
);
carp _user_sql($req->sql, $req->bind_values) if $args->{'-warn'};
t/000-dr-iterator.t view on Meta::CPAN
$item->id([]);
ok $item->is_changed, 'Field was changed';
ok $item->iterator->is_changed, 'Iterator was changed, too';
{
{
package TestItem;
sub new {
my ($class, $item) = @_;
return bless { %$item } => $class;
}
package TestItemD;
sub new {
my ($class, $item) = @_;
return undef if @_ > 2;
goto \&TestItem::new;
}
}
t/000-dr-iterator.t view on Meta::CPAN
is_deeply [ $l1->all ], [ $l3->all ],
'Third list did not received iterator';
}
subtest 'iterator push, pop', sub {
plan tests => 6;
{
package TestPushItem;
sub new {
my ($class, $item) = @_;
return bless { %$item } => $class;
}
}
my @items = (
{ a => 'b' },
{ c => 'd' },
{ d => 'e' }
);
my $list = DBIx::DR::Iterator->new(
[@items],
( run in 0.362 second using v1.01-cache-2.11-cpan-65fba6d93b7 )