r23605 - in /trunk/libmoosex-getopt-perl: ChangeLog META.yml debian/changelog lib/MooseX/Getopt.pm lib/MooseX/Getopt/OptionTypeMap.pm
gregoa at users.alioth.debian.org
gregoa at users.alioth.debian.org
Sat Jul 26 16:22:32 UTC 2008
Author: gregoa
Date: Sat Jul 26 16:22:29 2008
New Revision: 23605
URL: http://svn.debian.org/wsvn/pkg-perl/?sc=1&rev=23605
Log:
New upstream release.
Modified:
trunk/libmoosex-getopt-perl/ChangeLog
trunk/libmoosex-getopt-perl/META.yml
trunk/libmoosex-getopt-perl/debian/changelog
trunk/libmoosex-getopt-perl/lib/MooseX/Getopt.pm
trunk/libmoosex-getopt-perl/lib/MooseX/Getopt/OptionTypeMap.pm
Modified: trunk/libmoosex-getopt-perl/ChangeLog
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libmoosex-getopt-perl/ChangeLog?rev=23605&op=diff
==============================================================================
--- trunk/libmoosex-getopt-perl/ChangeLog (original)
+++ trunk/libmoosex-getopt-perl/ChangeLog Sat Jul 26 16:22:29 2008
@@ -1,4 +1,8 @@
Revision history for Perl extension MooseX-Getopt
+
+0.15 Sat. July 26 2008
+ * MooseX::Getopt::OptionTypeMap
+ - Accept type constraint objects in the type mapping, not just names
0.14 Thurs. July 10, 2008
* MooseX::Getopt::OptionTypeMap
Modified: trunk/libmoosex-getopt-perl/META.yml
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libmoosex-getopt-perl/META.yml?rev=23605&op=diff
==============================================================================
--- trunk/libmoosex-getopt-perl/META.yml (original)
+++ trunk/libmoosex-getopt-perl/META.yml Sat Jul 26 16:22:29 2008
@@ -20,4 +20,4 @@
Getopt::Long: 2.37
Getopt::Long::Descriptive: 0
Moose: 0.43
-version: 0.14
+version: 0.15
Modified: trunk/libmoosex-getopt-perl/debian/changelog
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libmoosex-getopt-perl/debian/changelog?rev=23605&op=diff
==============================================================================
--- trunk/libmoosex-getopt-perl/debian/changelog (original)
+++ trunk/libmoosex-getopt-perl/debian/changelog Sat Jul 26 16:22:29 2008
@@ -1,3 +1,9 @@
+libmoosex-getopt-perl (0.15-1) UNRELEASED; urgency=low
+
+ * New upstream release.
+
+ -- gregor herrmann <gregoa at debian.org> Sat, 26 Jul 2008 18:21:22 +0200
+
libmoosex-getopt-perl (0.14-1) unstable; urgency=low
* New upstream release WAITS FOR Getopt::Long::Descriptive
Modified: trunk/libmoosex-getopt-perl/lib/MooseX/Getopt.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libmoosex-getopt-perl/lib/MooseX/Getopt.pm?rev=23605&op=diff
==============================================================================
--- trunk/libmoosex-getopt-perl/lib/MooseX/Getopt.pm (original)
+++ trunk/libmoosex-getopt-perl/lib/MooseX/Getopt.pm Sat Jul 26 16:22:29 2008
@@ -11,7 +11,7 @@
use Getopt::Long (); # GLD uses it anyway, doesn't hurt
use constant HAVE_GLD => not not eval { require Getopt::Long::Descriptive };
-our $VERSION = '0.14';
+our $VERSION = '0.15';
our $AUTHORITY = 'cpan:STEVAN';
has ARGV => (is => 'rw', isa => 'ArrayRef', metaclass => "NoGetopt");
@@ -194,9 +194,9 @@
my $opt_string = join(q{|}, $flag, @aliases);
if ($attr->has_type_constraint) {
- my $type_name = $attr->type_constraint->name;
- if (MooseX::Getopt::OptionTypeMap->has_option_type($type_name)) {
- $opt_string .= MooseX::Getopt::OptionTypeMap->get_option_type($type_name)
+ my $type = $attr->type_constraint;
+ if (MooseX::Getopt::OptionTypeMap->has_option_type($type)) {
+ $opt_string .= MooseX::Getopt::OptionTypeMap->get_option_type($type)
}
}
Modified: trunk/libmoosex-getopt-perl/lib/MooseX/Getopt/OptionTypeMap.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libmoosex-getopt-perl/lib/MooseX/Getopt/OptionTypeMap.pm?rev=23605&op=diff
==============================================================================
--- trunk/libmoosex-getopt-perl/lib/MooseX/Getopt/OptionTypeMap.pm (original)
+++ trunk/libmoosex-getopt-perl/lib/MooseX/Getopt/OptionTypeMap.pm Sat Jul 26 16:22:29 2008
@@ -1,10 +1,10 @@
package MooseX::Getopt::OptionTypeMap;
-use Moose 'confess';
+use Moose 'confess', 'blessed';
use Moose::Util::TypeConstraints 'find_type_constraint';
-our $VERSION = '0.03';
+our $VERSION = '0.04';
our $AUTHORITY = 'cpan:STEVAN';
my %option_type_map = (
@@ -17,13 +17,14 @@
);
sub has_option_type {
- my (undef, $type_name) = @_;
- return 1 if exists $option_type_map{$type_name};
+ my (undef, $type_or_name) = @_;
- my $current = find_type_constraint($type_name);
+ 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_name'";
+ || 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};
@@ -34,20 +35,20 @@
}
sub get_option_type {
- my (undef, $type_name) = @_;
-
- return $option_type_map{$type_name}
- if exists $option_type_map{$type_name};
+ my (undef, $type_or_name) = @_;
- my $current = find_type_constraint($type_name);
+ my $name = blessed($type_or_name) ? $type_or_name->name : $type_or_name;
+
+ 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_name'";
-
- while (my $parent = $current->parent) {
- return $option_type_map{$parent->name}
- if exists $option_type_map{$parent->name};
- $current = $parent;
+ || confess "Could not find the type constraint for '$type_or_name'";
+
+ while ( $current = $current->parent ) {
+ return $option_type_map{$current->name}
+ if exists $option_type_map{$current->name};
}
return;
@@ -57,8 +58,14 @@
my (undef, $type_name, $option_string) = @_;
(defined $type_name && defined $option_string)
|| confess "You must supply both a type name and an option string";
- (find_type_constraint($type_name))
- || confess "The type constraint '$type_name' does not exist";
+
+ if ( blessed($type_name) ) {
+ $type_name = $type_name->name;
+ } else {
+ (find_type_constraint($type_name))
+ || confess "The type constraint '$type_name' does not exist";
+ }
+
$option_type_map{$type_name} = $option_string;
}
@@ -84,9 +91,9 @@
=over 4
-=item B<has_option_type ($type_name)>
+=item B<has_option_type ($type_or_name)>
-=item B<get_option_type ($type_name)>
+=item B<get_option_type ($type_or_name)>
=item B<add_option_type_to_map ($type_name, $option_spec)>
More information about the Pkg-perl-cvs-commits
mailing list