* cmd_flag parameter now works correctly.
[gitmo/MooseX-Getopt.git] / lib / MooseX / Getopt / Session.pm
index c75c34e..57b5220 100644 (file)
@@ -100,4 +100,35 @@ sub _compute_getopt_classes {
 };
 
 
+sub _get_cmd_flags_for_attr {
+    my ($self, $attr) = @_;
+
+    my $flag = $attr->name;
+
+    my @aliases;
+
+    if ($attr->does('MooseX::Getopt::Meta::Attribute::Trait')) {
+        $flag = $attr->cmd_flag if $attr->has_cmd_flag;
+        @aliases = @{ $attr->cmd_aliases } if $attr->has_cmd_aliases;
+    };
+
+    return ($flag, @aliases);
+};
+
+
+sub _get_cmd_type_for_attr {
+    my ($self, $attr) = @_;
+
+    my $type;
+    
+    $type = $attr->type_constraint if $attr->has_type_constraint;
+
+    if ($attr->does('MooseX::Getopt::Meta::Attribute::Trait')) {
+        $type = $attr->cmd_type if $attr->has_cmd_type;
+    };
+
+    return $type;
+};
+
+
 1;