summaryrefslogtreecommitdiffstats
path: root/static/talks/ox_yapc_na_2011/012.pl.html
diff options
context:
space:
mode:
Diffstat (limited to 'static/talks/ox_yapc_na_2011/012.pl.html')
-rw-r--r--static/talks/ox_yapc_na_2011/012.pl.html56
1 files changed, 56 insertions, 0 deletions
diff --git a/static/talks/ox_yapc_na_2011/012.pl.html b/static/talks/ox_yapc_na_2011/012.pl.html
new file mode 100644
index 0000000..96cd998
--- /dev/null
+++ b/static/talks/ox_yapc_na_2011/012.pl.html
@@ -0,0 +1,56 @@
+<html>
+<head>
+<title>012.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 = "011.pl" + ".html";
+ return false;
+ }
+ if (keynum == 13 || keynum == 32) {
+ window.location = "013" + ".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 Controller;
+ use Moose;
+
+ has view =&gt; (is =&gt; 'ro', isa =&gt; 'View', required =&gt; 1);
+ has model =&gt; (is =&gt; 'ro', isa =&gt; 'Model', required =&gt; 1);
+
+ sub index { }
+ sub inc { my $self = shift; $self-&gt;model-&gt;inc }
+ sub dec { my $self = shift; $self-&gt;model-&gt;dec }
+ sub reset { my $self = shift; $self-&gt;model-&gt;reset }
+ sub set { my $self = shift; $self-&gt;model-&gt;set($_[1]) }
+
+ around [qw(index inc dec set reset)] =&gt; sub {
+ my $orig = shift;
+ my $self = shift;
+ $self-&gt;$orig(@_);
+ return $self-&gt;view-&gt;render($self-&gt;model-&gt;count);
+ };
+
+ __PACKAGE__-&gt;meta-&gt;make_immutable;
+ 1;
+
+
+
+
+
+</pre>
+</body>