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