aboutsummaryrefslogtreecommitdiffstats
path: root/lib/MooseX/AlwaysCoerce.pm
diff options
context:
space:
mode:
Diffstat (limited to 'lib/MooseX/AlwaysCoerce.pm')
-rw-r--r--lib/MooseX/AlwaysCoerce.pm8
1 files changed, 7 insertions, 1 deletions
diff --git a/lib/MooseX/AlwaysCoerce.pm b/lib/MooseX/AlwaysCoerce.pm
index ab98a64..4247664 100644
--- a/lib/MooseX/AlwaysCoerce.pm
+++ b/lib/MooseX/AlwaysCoerce.pm
@@ -45,6 +45,8 @@ coercion not run?" only to find out that you forgot C<< coerce => 1 >> ?
Just load this module in your L<Moose> class and C<< coerce => 1 >> will be
enabled for every attribute and class attribute automatically.
+Use C<< coerce => 0 >> to disable a coercion explicitly.
+
=cut
{
@@ -61,7 +63,11 @@ enabled for every attribute and class attribute automatically.
around add_class_attribute => sub {
my $next = shift;
my $self = shift;
- $self->$next(@_, coerce => 1);
+ my ($what, %opts) = @_;
+
+ $opts{coerce} = 1 unless exists $opts{coerce};
+
+ $self->$next($what, %opts);
};
}