Version 0.23
[gitmo/MooseX-Types.git] / lib / MooseX / Types / Wrapper.pm
index 8a55845..f803fcc 100644 (file)
@@ -1,15 +1,30 @@
-package MooseX::Types::Wrapper;
-#use warnings;
-#use strict;
-#use base 'MooseX::Types';
+=head1 NAME
+
+MooseX::Types::Wrapper - Wrap exports from a library
+
+=cut
 
-use Carp    qw( croak );
-use Class::Inspector;
+package MooseX::Types::Wrapper;
+our $VERSION = "0.23";
 use Moose;
-use namespace::clean;
+
+use Carp::Clan      qw( ^MooseX::Types );
+use Class::MOP;
+
+use namespace::clean -except => [qw( meta )];
 
 extends 'MooseX::Types';
 
+=head1 DESCRIPTION
+
+See L<MooseX::Types/SYNOPSIS> for detailed usage.
+
+=head1 METHODS
+
+=head2 import
+
+=cut
+
 sub import {
     my ($class, @args) = @_;
     my %libraries = @args == 1 ? (Moose => $args[0]) : @args;
@@ -21,15 +36,29 @@ sub import {
 
         my $library_class 
           = ($l eq 'Moose' ? 'MooseX::Types::Moose' : $l );
-        require Class::Inspector->filename($library_class)
-            unless Class::Inspector->loaded($library_class);
+        Class::MOP::load_class($library_class);
 
-        $library_class->import( @{ $libraries{ $l } }, { 
+        $library_class->import({ 
             -into    => scalar(caller),
             -wrapper => $class,
-        });
+        }, @{ $libraries{ $l } });
     }
     return 1;
 }
 
 1;
+
+=head1 SEE ALSO
+
+L<MooseX::Types>
+
+=head1 AUTHOR
+
+See L<MooseX::Types/AUTHOR>.
+
+=head1 LICENSE
+
+This program is free software; you can redistribute it and/or modify
+it under the same terms as perl itself.
+
+=cut