blob: 403bba618aa8522dffd72487677514b14f33f6a3 (
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
27
|
package Bot::Games::Trait::Class::Formatted;
use Moose::Role;
use MooseX::AttributeHelpers;
has default_formatters => (
metaclass => 'Collection::ImmutableHash',
is => 'ro',
isa => 'HashRef[CodeRef]',
builder => '_build_default_formatters',
provides => {
get => 'formatter_for',
exists => 'has_formatter',
keys => 'formattable_tcs',
},
);
sub _build_default_formatters {
{
'ArrayRef' => sub { join ', ', @{ shift() } },
'Bool' => sub { return shift() ? 'true' : 'false' },
'Object' => sub { shift() . "" },
}
}
no Moose::Role;
1;
|