# NAME

MoopsX::ListObjects - Use Moops with List::Objects::WithUtils

# SYNOPSIS

    package My::App;
    use MoopsX::ListObjects;

    class Foo {
      has mylist => ( 
        default => sub { array }, 
        isa     => ArrayObj
      );

    has mydata => ( 
      default => sub { +{} },
      isa     => HashObj,
      coerce  => 1
    );

    method add_items (@items) {
      $self->mylist->push(@items)
    }

      method find_matches (Str $string) {
        $self->mylist->grep(sub { $_ eq $string })
      }
    }

    my $foo = Foo->new;

    $foo->add_items(qw/ foo bar baz /);

    my $matches = $foo->find_matches( 'foo' );

# DESCRIPTION

Extends Toby Inkster's [Moops](http://search.cpan.org/perldoc?Moops) sugary class building syntax with
[List::Objects::WithUtils](http://search.cpan.org/perldoc?List::Objects::WithUtils) objects.

Importing [MoopsX::ListObjects](http://search.cpan.org/perldoc?MoopsX::ListObjects) is the same as importing [Moops](http://search.cpan.org/perldoc?Moops), but with
`array`, `immarray`, and `hash` objects from [List::Objects::WithUtils](http://search.cpan.org/perldoc?List::Objects::WithUtils).

You also get the types & coercions from [List::Objects::Types](http://search.cpan.org/perldoc?List::Objects::Types).

# SEE ALSO

[Moops](http://search.cpan.org/perldoc?Moops)

[List::Objects::WithUtils::Role::Array](http://search.cpan.org/perldoc?List::Objects::WithUtils::Role::Array)

[List::Objects::WithUtils::Role::Hash](http://search.cpan.org/perldoc?List::Objects::WithUtils::Role::Hash)

[List::Objects::WithUtils::Array::Immutable](http://search.cpan.org/perldoc?List::Objects::WithUtils::Array::Immutable)

# AUTHOR

Jon Portnoy <avenj@cobaltirc.org>
