File: Attribute.pm

package info (click to toggle)
libmoosex-app-perl 1.42-2
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 736 kB
  • sloc: perl: 4,004; makefile: 2
file content (36 lines) | stat: -rw-r--r-- 776 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
# ============================================================================
package MooseX::App::Plugin::Depends::Meta::Attribute;
# ============================================================================

use Moose::Role;
use namespace::autoclean;

has 'depends' => (
    is      => 'ro',
    isa     => 'ArrayRef[Str]',
    default => sub { [] },
);

around 'cmd_tags_list' => sub {
    my $orig = shift;
    my ($self) = @_;

    my @tags = $self->$orig();

    push(@tags,'Depends')
        if $self->can('depends')
        && $self->depends;

    return @tags;
};

{
    package Moose::Meta::Attribute::Custom::Trait::AppDepends;

    use strict;
    use warnings;

    sub register_implementation { return 'MooseX::App::Plugin::Depends::Meta::Attribute' }
}

1;