The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

MooX::Rebuild - Rebuild your Moo objects.

SYNOPSIS

    package Foo;
    use Moo;
    with 'MooX::Rebuild';
    has get_bar => (
        is       => 'ro',
        init_arg => 'bar',
    );
    
    my $foo1 = Foo->new( bar => 'lala' );
    my $foo2 = $foo1->rebuild();
    print $foo2->get_bar(); # lala

DESCRIPTION

Make copies of Moo objects using the same arguments used to create the original objects.

This Moo role depends on, and uses, the MooX::BuildArgs role in order to capture the original arguments used to create an object.

METHODS

rebuild

    my $clone   = $object->rebuild();
    my $similar = $object->rebuild( %extra_args );

Creates a new instance in the same class as the source object and using the same arguments used to make the source object.

SEE ALSO

SUPPORT

See "SUPPORT" in MooX::BuildArgs.

AUTHORS

See "AUTHORS" in MooX::BuildArgs.

LICENSE

See "LICENSE" in MooX::BuildArgs.