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

AUTHOR

Aran Clary Deltac <bluefeet@gmail.com>

CONTRIBUTORS

  • Peter Pentchev <roam@ringlet.net>

LICENSE

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.