X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FMooseX%2FGetopt%2FOptionTypeMap.pm;fp=lib%2FMooseX%2FGetopt%2FOptionTypeMap.pm;h=15c479fdd757a73ca545c8d4517fc2c88b1364d6;hb=669588e263ff229c94d602596f23cc91deefed75;hp=3504ca3d88b8dd7674d2e047ed3d82bfb984980f;hpb=fff9a1f87fa035f2810fd2f621c71d8ff94590e6;p=gitmo%2FMooseX-Getopt.git diff --git a/lib/MooseX/Getopt/OptionTypeMap.pm b/lib/MooseX/Getopt/OptionTypeMap.pm index 3504ca3..15c479f 100644 --- a/lib/MooseX/Getopt/OptionTypeMap.pm +++ b/lib/MooseX/Getopt/OptionTypeMap.pm @@ -1,19 +1,16 @@ - package MooseX::Getopt::OptionTypeMap; +# ABSTRACT: Storage for the option to type mappings use Moose 'confess', 'blessed'; use Moose::Util::TypeConstraints 'find_type_constraint'; -our $VERSION = '0.27'; -our $AUTHORITY = 'cpan:STEVAN'; - my %option_type_map = ( 'Bool' => '!', 'Str' => '=s', 'Int' => '=i', 'Num' => '=f', 'ArrayRef' => '=s@', - 'HashRef' => '=s%', + 'HashRef' => '=s%', ); sub has_option_type { @@ -22,10 +19,10 @@ sub has_option_type { return 1 if exists $option_type_map{blessed($type_or_name) ? $type_or_name->name : $type_or_name}; my $current = blessed($type_or_name) ? $type_or_name : find_type_constraint($type_or_name); - + (defined $current) || confess "Could not find the type constraint for '$type_or_name'"; - + while (my $parent = $current->parent) { return 1 if exists $option_type_map{$parent->name}; $current = $parent; @@ -42,9 +39,9 @@ sub get_option_type { return $option_type_map{$name} if exists $option_type_map{$name}; my $current = ref $type_or_name ? $type_or_name : find_type_constraint($type_or_name); - + (defined $current) - || confess "Could not find the type constraint for '$type_or_name'"; + || confess "Could not find the type constraint for '$type_or_name'"; while ( $current = $current->parent ) { return $option_type_map{$current->name} @@ -69,55 +66,20 @@ sub add_option_type_to_map { $option_type_map{$type_name} = $option_string; } -no Moose; no Moose::Util::TypeConstraints; 1; +no Moose::Util::TypeConstraints; +no Moose; -__END__ - - -=pod - -=head1 NAME - -MooseX::Getopt::OptionTypeMap - Storage for the option to type mappings +1; =head1 DESCRIPTION See the I section in the L docs for more info about how to use this module. -=head1 METHODS - -These are all class methods and should be called as such. - -=over 4 - -=item B - -=item B - -=item B - -=item B - -=back - -=head1 BUGS - -All complex software has bugs lurking in it, and this module is no -exception. If you find a bug please either email me, or add the bug -to cpan-RT. - -=head1 AUTHOR - -Stevan Little Estevan@iinteractive.comE - -=head1 COPYRIGHT AND LICENSE - -Copyright 2007-2008 by Infinity Interactive, Inc. +=method B -L +=method B -This library is free software; you can redistribute it and/or modify -it under the same terms as Perl itself. +=method B =cut