From 44b44091fa8a04bbadc986236b09e7d1bd117965 Mon Sep 17 00:00:00 2001 From: Rafael Kitover Date: Tue, 16 Jun 2009 10:49:47 -0700 Subject: make coerce => 0 work for class_has --- lib/MooseX/AlwaysCoerce.pm | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'lib') 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 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); }; } -- cgit v1.2.3