Bool metaclass now implies type Bool
Jason May [Sat, 15 Nov 2008 04:00:30 +0000 (04:00 +0000)]
lib/MooseX/AttributeHelpers/Bool.pm

index e8910bc..fb324a2 100644 (file)
@@ -19,7 +19,16 @@ sub helper_type { 'Bool' }
 has '+method_provider' => (
     default => 'MooseX::AttributeHelpers::MethodProvider::Bool'
 );
-    
+
+before 'process_options_for_provides' => sub {
+    my ($self, $options, $name) = @_;
+
+    # Set some default attribute options here unless already defined
+    if ((my $type = $self->helper_type) && !exists $options->{isa}){
+        $options->{isa} = $type;
+    }
+};
+
 no Moose;
 
 # register the alias ...