diff options
Diffstat (limited to 'lib/MooseX/NonMoose/Meta/Role/Class.pm')
-rw-r--r-- | lib/MooseX/NonMoose/Meta/Role/Class.pm | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/lib/MooseX/NonMoose/Meta/Role/Class.pm b/lib/MooseX/NonMoose/Meta/Role/Class.pm new file mode 100644 index 0000000..8195b4a --- /dev/null +++ b/lib/MooseX/NonMoose/Meta/Role/Class.pm @@ -0,0 +1,20 @@ +package MooseX::NonMoose::Meta::Role::Class; +use Moose::Role; + +has replace_constructor => ( + is => 'rw', + isa => 'Bool', + default => 0, +); + +around _make_immutable_transformer => sub { + my $orig = shift; + my $self = shift; + my @args = @_; + unshift @args, replace_constructor => 1 if $self->replace_constructor; + $self->$orig(@args); +}; + +no Moose::Role; + +1; |