make coerce => 0 work for class_has
[gitmo/MooseX-AlwaysCoerce.git] / lib / MooseX / AlwaysCoerce.pm
index ab98a64..4247664 100644 (file)
@@ -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);
     };
 }