blib/lib/WebService/Mattermost/V4/API/Object/Plugins.pm | |||
---|---|---|---|
Criterion | Covered | Total | % |
statement | 9 | 24 | 37.5 |
branch | 0 | 4 | 0.0 |
condition | n/a | ||
subroutine | 3 | 6 | 50.0 |
pod | n/a | ||
total | 12 | 34 | 35.2 |
line | stmt | bran | cond | sub | pod | time | code |
---|---|---|---|---|---|---|---|
1 | package WebService::Mattermost::V4::API::Object::Plugins; 2: 3: # ABSTRACT: Many plugin items. 4: 5: use Moo; 6: use Types::Standard qw(ArrayRef Maybe); 7: 8: use WebService::Mattermost::V4::API::Object::Plugin; 9: 10: extends 'WebService::Mattermost::V4::API::Object'; 11: 12: ################################################################################ 13: 14: has [ qw(active inactive) ] => (is => 'ro', isa => Maybe[ArrayRef], lazy => 1, builder => 1); 15: 16: ################################################################################ 17: 18: sub _map_plugin_objs { 19: my $self = shift; 20: my $type = shift; 21: 22: return [ 23: map { 24: my $args = $_; 25: 26: $args->{base_url} = $self->base_url; 27: $args->{auth_token} = $self->auth_token; 28: $args->{raw_data} = {}; 29: 30: WebService::Mattermost::V4::API::Object::Plugin->new($_) 31: } @{$self->raw_data->{$type}} 32: ]; 33: } 34: 35: ################################################################################ 36: 37: sub _build_active { 38: my $self = shift; 39: 40: return unless $self->raw_data->{active}; 41: return $self->_map_plugin_objs('active'); 42: } 43: 44: sub _build_inactive { 45: my $self = shift; 46: 47: return unless $self->raw_data->{inactive}; 48: return $self->_map_plugin_objs('inactive'); 49: } 50: 51: ################################################################################ 52: 53: 1; 54: 55: __END__ 56: 57: =pod 58: 59: =encoding UTF-8 60: 61: =head1 NAME 62: 63: WebService::Mattermost::V4::API::Object::Plugins - Many plugin items. 64: 65: =head1 VERSION 66: 67: version 0.28 68: 69: =head1 DESCRIPTION 70: 71: Contains active and inactive plugins. 72: 73: =head2 ATTRIBUTES 74: 75: =over 4 76: 77: =item * C<active> 78: 79: A list of enabled plugins. 80: 81: =item * C<inactive> 82: 83: A list of disabled plugins. 84: 85: =back 86: 87: =head1 SEE ALSO 88: 89: =over 4 90: 91: =item * L<WebService::Mattermost::V4::API::Object::Plugin> 92: 93: The "plugins" referred to in C<active> and C<inactive>. 94: 95: =back 96: 97: =head1 AUTHOR 98: 99: Mike Jones <mike@netsplit.org.uk> 100: 101: =head1 COPYRIGHT AND LICENSE 102: 103: This software is Copyright (c) 2020 by Mike Jones. 104: 105: This is free software, licensed under: 106: 107: The MIT (X11) License 108: 109: =cut 110: |