DBIx-DR
view release on metacpan or search on metacpan
lib/DBIx/DR/Iterator.pm view on Meta::CPAN
=over
=item -item => 'decamelized_obj_define';
It will bless (or construct) row into specified class. See below.
By default it constructs L<DBIx::DR::Iterator::Item> objects.
=item -noitem_iter => TRUE|FALSE
Don't pass iterator to item constructor.
=item -keep_blessed => TRUE|FALSE
Force store blessed item into iterator. Default value is C<true>.
=back
=head2 count
Returns count of elements.
=head2 is_changed
Returns (or set) flag that one of contained elements was changed.
=head2 exists(name|number)
Returns B<true> if element 'B<name|number>' is exists.
=head2 get(name|number)
Returns element by 'B<name|number>'. It will throw exception if element
isn't L<exists|exists(name|number)>.
=head2 next
Returns next element or B<undef>.
=head2 reset
Resets internal iterator (that is used by L<next>).
=head2 all
Returns all elements (as an array).
If You notice an argument it will extract specified fields:
my @ids = $it->all('id');
The same as:
my @ids = map { $_->id } $it->all;
=head2 grep
Constructs new iterator that is subset of parent iterator.
my $busy = $list->grep(sub { $_[0]->busy ? 1 : 0 });
=head2 push
Pushes one element into iterator.
If You use HASH-iterator You have to note key name.
=head3 Example
$hiter->push(abc => { id => 1 });
$hiter->push(abc => $oiter->get('abc'));
$aiter->push({ id => 1 });
=head1 DBIx::DR::Iterator::Item
One row. It has methods names coincident with field names. Also it has a few
additional methods:
=head2 new
Constructor. Receives two arguments: B<HASHREF> and link to
L<iterator|DBIx::DR::Iterator>.
my $row = DBIx::DR::Iterator::Item->new({ id => 1 });
$row = DBIx::DR::Iterator::Item->new({ id => 1 }, $iterator); }
=head2 iterator
Returns (or set) iterator object. The link is created by constructor.
This is a L<weaken|Scalar::Util/weaken> link.
=head2 is_changed
Returns (or set) flag if the row has been changed. If You change any of
row's fields the flag will be set. Also iterator's flag will be set.
=head1 COPYRIGHT
Copyright (C) 2011 Dmitry E. Oboukhov <unera@debian.org>
Copyright (C) 2011 Roman V. Nikolaev <rshadow@rambler.ru>
This program is free software, you can redistribute it and/or
modify it under the terms of the Artistic License.
=cut
( run in 0.619 second using v1.01-cache-2.11-cpan-354807fb38d )