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.391 second using v1.01-cache-2.11-cpan-3b35f9de6a3 )