From 8ddf2e94df70707b458528a437759b96046d3e01 Mon Sep 17 00:00:00 2001 From: Franck Cuny Date: Tue, 26 Nov 2013 10:36:10 -0800 Subject: Huge update. Moved all posts from textile to markdown. Updated all the CSS and styles. Added a new page for the resume. --- .../2009-07-26-apply-a-role-to-a-moose-object.md | 38 ++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 _posts/2009-07-26-apply-a-role-to-a-moose-object.md (limited to '_posts/2009-07-26-apply-a-role-to-a-moose-object.md') 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..3e96ac0 --- /dev/null +++ b/_posts/2009-07-26-apply-a-role-to-a-moose-object.md @@ -0,0 +1,38 @@ +--- +layout: post +title: Apply a role to a Moose object +summary: In which I show how to apply a role to a Moose's object +--- + +You can apply a role to a Moose object. You can do something like + +{% highlight 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; +{% endhighlight %} + +with the following output: + +``` +i can't haz baz +i can haz baz +``` -- cgit v1.2.3