Make formatting more like the rest of the code
[gitmo/MooseX-Types.git] / lib / MooseX / Types / Combine.pm
index bb8d166..43aa79f 100644 (file)
@@ -1,11 +1,6 @@
-=head1 NAME
-
-MooseX::Types::Combine - Combine type libraries for exporting
-
-=cut
-
 package MooseX::Types::Combine;
-our $VERSION = "0.24";
+
+# ABSTRACT: Combine type libraries for exporting
 
 use strict;
 use warnings;
@@ -38,6 +33,12 @@ sub import {
 
     my %types = $class->_provided_types;
 
+    if ( grep { $_ eq ':all' } @types ) {
+        $_->import( { -into => $caller }, q{:all} )
+            for $class->provide_types_from;
+        return;
+    }
+
     my %from;
     for my $type (@types) {
         unless ($types{$type}) {
@@ -84,6 +85,15 @@ sub provide_types_from {
     @$store;
 }
 
+sub _check_type_lib {
+    my ($class, $lib) = @_;
+
+    Class::MOP::load_class($lib);
+
+    die "Cannot use $lib in a combined type library, it does not provide any types"
+        unless $lib->can('type_names');
+}
+
 sub _provided_types {
     my ($class, %types) = @_;
 
@@ -96,23 +106,10 @@ sub _provided_types {
     %$types;
 }
 
-sub _check_type_lib {
-    my ($class, $lib) = @_;
-
-    Class::MOP::load_class($lib);
-
-    die "Cannot use $lib in a combined type library, it does not provide any types"
-        unless $lib->can('type_names');
-}
-
 =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