diff options
| author | Franck Cuny <franck.cuny@gmail.com> | 2016-08-10 14:33:04 -0700 |
|---|---|---|
| committer | Franck Cuny <franck.cuny@gmail.com> | 2016-08-10 20:17:56 -0700 |
| commit | 8d7d02f42c3947f756c18cb4d37d9d97fbd0d27d (patch) | |
| tree | a6cecddaaea7e87d901a6c28bebe3a531438f24b /posts/2009-07-26-apply-a-role-to-a-moose-object.md | |
| parent | Merge branch 'convert-to-org' (diff) | |
| download | lumberjaph-8d7d02f42c3947f756c18cb4d37d9d97fbd0d27d.tar.gz | |
convert back to md
Diffstat (limited to 'posts/2009-07-26-apply-a-role-to-a-moose-object.md')
| -rw-r--r-- | posts/2009-07-26-apply-a-role-to-a-moose-object.md | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/posts/2009-07-26-apply-a-role-to-a-moose-object.md b/posts/2009-07-26-apply-a-role-to-a-moose-object.md new file mode 100644 index 0000000..12fb393 --- /dev/null +++ b/posts/2009-07-26-apply-a-role-to-a-moose-object.md @@ -0,0 +1,32 @@ +You can apply a role to a Moose object. You can do something like + +``` perl +#!/usr/bin/perl -w +use strict; +use feature ':5.10'; + +package foo; +use Moose::Role; +sub baz { + say 'i can haz baz'; +} + +package bar; +use Moose; +1; + +package main; + +my $test = bar->new; +say "i can't haz baz" if !$test->can("baz"); + +foo->meta->apply($test); +$test->baz; +``` + +with the following output: + +``` + i can't haz baz + i can haz baz +``` |
