blob: 71c924979ff332057984bfcbb67fabaaf611c9bf (
plain) (
blame)
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
|
package IM::Engine::Plugin::Commands::Trait::Class::Formatted;
use Moose::Role;
has default_formatters => (
traits => ['Hash'],
is => 'ro',
isa => 'HashRef[CodeRef]',
builder => '_build_default_formatters',
handles => {
formatter_for => 'get',
has_formatter => 'exists',
formattable_tcs => 'keys',
},
);
sub _build_default_formatters {
{
'ArrayRef' => sub { join ', ', @{ shift() } },
'Bool' => sub { return shift() ? 'true' : 'false' },
'Object' => sub { shift() . "" },
}
}
no Moose::Role;
1;
|