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.302 second using v1.01-cache-2.11-cpan-c333fce770f )