use
Test2::V0;
use
Test::Requires {
Moose
=> 0,
};
use
strict;
use
warnings;
{
has
foo
=> (
is
=>
'ro'
,
traits
=> [
'Mustache'
],
default
=>
'Hello {{ name }}'
,
lazy
=> 1,
handles
=> [
'render'
],
);
has
bar
=> (
is
=>
'ro'
,
traits
=> [
'Mustache'
],
default
=>
sub
{
'Hello {{ name }}'
},
lazy
=> 1,
handles
=> {
render_bar
=>
'render'
},
);
has
name
=> (
is
=>
'rw'
,
default
=>
'world'
);
}
my
$foo
= Foo->new;
is
$foo
->
render
=>
'Hello world'
,
'default as a string'
;
is
$foo
->
render_bar
=>
'Hello world'
,
'default as a coderef'
;
done_testing;