1# ============================================================================
2package MooseX::App::Plugin::MutexGroup::Meta::Attribute;
3# ============================================================================
4
5use Moose::Role;
6use namespace::autoclean;
7
8has 'mutexgroup' => (
9    is  => 'ro',
10    isa => 'Str',
11);
12
13around 'cmd_tags_list' => sub {
14    my $orig = shift;
15    my ($self) = @_;
16
17    my @tags = $self->$orig();
18
19    push(@tags,'MutexGroup')
20        if $self->can('mutexgroup')
21        && $self->mutexgroup;
22
23    return @tags;
24};
25
26{
27    package Moose::Meta::Attribute::Custom::Trait::AppMutexGroup;
28
29    use strict;
30    use warnings;
31
32    sub register_implementation { return 'MooseX::App::Plugin::MutexGroup::Meta::Attribute' }
33}
34
351;
36