Created
February 23, 2012 21:01
-
-
Save j1n3l0/1895022 to your computer and use it in GitHub Desktop.
lazy load attributes from role #moose #traits #lazy
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
use 5.014; | |
use Test::Most; | |
{ package Person; | |
use Moose; | |
with 'MooseX::Traits'; | |
has name => qw( is ro required 1 lazy_build 1 ); | |
} | |
{ package Identifiable; | |
use Moose::Role; | |
sub _build_name { 'John Doe' } | |
} | |
is( Person->new( name => 'Nelo Onyiah' )->name, 'Nelo Onyiah' ); | |
is( Person->with_traits('Identifiable')->new->name, 'John Doe' ); | |
done_testing; |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment