summaryrefslogtreecommitdiffstats
path: root/static/talks/extending_moose_yapc_na_2010/054.pl.html
diff options
context:
space:
mode:
Diffstat (limited to 'static/talks/extending_moose_yapc_na_2010/054.pl.html')
-rw-r--r--static/talks/extending_moose_yapc_na_2010/054.pl.html52
1 files changed, 52 insertions, 0 deletions
diff --git a/static/talks/extending_moose_yapc_na_2010/054.pl.html b/static/talks/extending_moose_yapc_na_2010/054.pl.html
new file mode 100644
index 0000000..b946994
--- /dev/null
+++ b/static/talks/extending_moose_yapc_na_2010/054.pl.html
@@ -0,0 +1,52 @@
+<html>
+<head>
+<title>054.pl</title>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<script>
+function navigate(e) {
+ var keynum = (window.event) // IE
+ ? e.keyCode
+ : e.which;
+ if (keynum == 8) {
+ window.location = "053.pl" + ".html";
+ return false;
+ }
+ if (keynum == 13 || keynum == 32) {
+ window.location = "055.pl" + ".html";
+ return false;
+ }
+ if (keynum == 73 || keynum == 105) {
+ window.location = "index.html";
+ return false;
+ }
+ return true;
+}
+</script>
+</head>
+<body onkeypress="return navigate(event)">
+<pre> package Command::Role::Class;
+ use Moose::Role;
+
+ sub get_all_commands {
+ my ($self) = @_;
+ grep { Moose::Util::does_role($_, 'Command::Role::Method') }
+ $self-&gt;get_all_methods;
+ }
+
+ sub has_command {
+ my ($self, $name) = @_;
+ my $method = $self-&gt;find_method_by_name($name);
+ return unless $method;
+ return Moose::Util::does_role($method, 'Command::Role::Method');
+ }
+
+ sub get_command {
+ my ($self, $name) = @_;
+ my $method = $self-&gt;find_method_by_name($name);
+ return unless $method;
+ return Moose::Util::does_role($method, 'Command::Role::Method')
+ ? $method
+ : ();
+ }
+</pre>
+</body>