summaryrefslogtreecommitdiff
path: root/posts/2009-07-26-apply-a-role-to-a-moose-object.org
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--posts/2009-07-26-apply-a-role-to-a-moose-object.org32
1 files changed, 32 insertions, 0 deletions
diff --git a/posts/2009-07-26-apply-a-role-to-a-moose-object.org b/posts/2009-07-26-apply-a-role-to-a-moose-object.org
new file mode 100644
index 0000000..9a90cbd
--- /dev/null
+++ b/posts/2009-07-26-apply-a-role-to-a-moose-object.org
@@ -0,0 +1,32 @@
+You can apply a role to a Moose object. You can do something like
+
+#+BEGIN_SRC 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;
+#+END_SRC
+
+with the following output:
+
+#+BEGIN_EXAMPLE
+ i can't haz baz
+ i can haz baz
+#+END_EXAMPLE