Moosified
phaylon [Thu, 12 Apr 2007 21:03:23 +0000 (21:03 +0000)]
lib/MooseX/TypeLibrary.pm
lib/MooseX/TypeLibrary/Base.pm
lib/MooseX/TypeLibrary/Wrapper.pm
t/lib/TestWrapper.pm

index 4489bc3..4b9da56 100644 (file)
@@ -6,8 +6,8 @@ MooseX::TypeLibrary - Organise your Moose types in libraries
 
 =cut
 
-use warnings;
-use strict;
+#use warnings;
+#use strict;
 
 use Sub::Uplevel;
 use Moose::Util::TypeConstraints;
@@ -15,6 +15,7 @@ use MooseX::TypeLibrary::Base           ();
 use MooseX::TypeLibrary::Util           qw( filter_tags );
 use MooseX::TypeLibrary::UndefinedType;
 use Sub::Install                        qw( install_sub );
+use Moose;
 use namespace::clean;
 
 our $VERSION = 0.01;
index fcb1aa6..d6dda02 100644 (file)
@@ -6,13 +6,14 @@ MooseX::TypeLibrary::Base - Type library base class
 
 =cut
 
-use warnings;
-use strict;
+#use warnings;
+#use strict;
 
 use Sub::Install                    qw( install_sub );
 use Carp                            qw( croak );
 use MooseX::TypeLibrary::Util       qw( filter_tags );
 use Moose::Util::TypeConstraints;
+use Moose;
 use namespace::clean;
 
 =head1 DESCRIPTION
index 3e4e387..dfaa1d9 100644 (file)
@@ -1,12 +1,15 @@
 package MooseX::TypeLibrary::Wrapper;
-use warnings;
-use strict;
-use base 'MooseX::TypeLibrary';
+#use warnings;
+#use strict;
+#use base 'MooseX::TypeLibrary';
 
 use Carp    qw( croak );
 use Class::Inspector;
+use Moose;
 use namespace::clean;
 
+extends 'MooseX::TypeLibrary';
+
 sub import {
     my ($class, @args) = @_;
     my %libraries = @args == 1 ? (Moose => $args[0]) : @args;
index 187e1b5..7a142a4 100644 (file)
@@ -1,36 +1,58 @@
 package TestWrapper;
-use strict;
-use warnings;
+use Moose;
 
-use Class::C3;
-use base 'MooseX::TypeLibrary::Wrapper';
+extends 'MooseX::TypeLibrary::Wrapper';
+#use Class::C3;
+#use base 'MooseX::TypeLibrary::Wrapper';
 
-sub type_export_generator {
-    my $class = shift;
-    my ($type, $full) = @_;
-    my $code = $class->next::method(@_);
+around type_export_generator => sub {
+    my $code = super();
     return sub { $code->(@_) };
-}
+};
 
-sub check_export_generator {
-    my $class = shift;
-    my ($type, $full, $undef_msg) = @_;
-    my $code = $class->next::method(@_);
+#sub type_export_generator {
+#    my $class = shift;
+#    my ($type, $full) = @_;
+#    my $code = $class->next::method(@_);
+#    return sub { $code->(@_) };
+#}
+
+around check_export_generator => sub {
+    my $code = super();
     return sub {
         return $code unless @_;
         return $code->(@_);
     };
-}
+};
+
+#sub check_export_generator {
+#    my $class = shift;
+#    my ($type, $full, $undef_msg) = @_;
+#    my $code = $class->next::method(@_);
+#    return sub {
+#        return $code unless @_;
+#        return $code->(@_);
+#    };
+#}
 
-sub coercion_export_generator {
-    my $class = shift;
-    my ($type, $full, $undef_msg) = @_;
-    my $code = $class->next::method(@_);
+around coercion_export_generator => sub {
+    my $code = super();
     return sub {
-        my $val = $code->(@_);
-        die "coercion returned undef\n" unless defined $val;
-        return $val;
+        my $value = $code->(@_);
+        die "coercion returned undef\n" unless defined $value;
+        return $value;
     };
-}
+};
+
+#sub coercion_export_generator {
+#    my $class = shift;
+#    my ($type, $full, $undef_msg) = @_;
+#    my $code = $class->next::method(@_);
+#    return sub {
+#        my $val = $code->(@_);
+#        die "coercion returned undef\n" unless defined $val;
+#        return $val;
+#    };
+#}
 
 1;