summaryrefslogtreecommitdiff
path: root/posts/2009-07-26-apply-a-role-to-a-moose-object.org
diff options
context:
space:
mode:
authorFranck Cuny <franckcuny@gmail.com>2016-08-04 11:45:44 -0700
committerFranck Cuny <franckcuny@gmail.com>2016-08-04 11:45:44 -0700
commit585b48b6a605cb71ef99dd767880e1b7ee5bf24e (patch)
treec65377350d12bd1e62e0bdd58458c1044541c27b /posts/2009-07-26-apply-a-role-to-a-moose-object.org
parentUse Bullet list for the index. (diff)
parentMass convert all posts from markdown to org. (diff)
downloadlumberjaph-585b48b6a605cb71ef99dd767880e1b7ee5bf24e.tar.gz
Merge branch 'convert-to-org'
Diffstat (limited to 'posts/2009-07-26-apply-a-role-to-a-moose-object.org')
-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