NAME

Catmandu::Iterator - Base class for all Catmandu iterators

SYNOPSIS

  package My::MockIterator;

  use Catmandu;
  use Moo;

  with 'Catmandu::Iterable';

  sub generator {
    sub {
        # Generator some random data
        +{ random => rand };
    }
  }

  package main;

  my $it = My::MockIterator->new;

  my $first = $it->first;

  $it->each(sub {
  my $item = shift;

  print $item->{random} , "\n";
  });

  my $it2 = $it->map(sub { shift->{random} * 2 });

METHODS

generator

Should return a closure that generates one Perl hash.

INHERIT

If you provide a generator, then the class will generator all methods from Catmandu::Iterable.

SEE ALSO

Catmandu::Iterable