X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=moose-class%2Fslides%2Findex.html;h=1f2c059df5c1bc9eaddff47d5e0699b808f42890;hb=5b7f2dc1f80c19906bedd8ddc03a38db01db31d2;hp=501be5bc4a9ae1d7331f4f6335e42c40694974c3;hpb=f92e1df634926feb91baee61fc5356388656a0a7;p=gitmo%2Fmoose-presentations.git diff --git a/moose-class/slides/index.html b/moose-class/slides/index.html index 501be5b..1f2c059 100644 --- a/moose-class/slides/index.html +++ b/moose-class/slides/index.html @@ -71,7 +71,7 @@ img#me05 {top: 43px;left: 36px;}
package Person;
-use namespace::autoclean;
use Moose;
+use namespace::autoclean;
...
@@ -1234,8 +1234,6 @@ use Moose;
# perl bin/prove -lv t/00-prereq.t
-# perl install-moose (if needed)
-
## Read the instructions in t/01-classes.t
# perl bin/prove -lv t/01-classes.t
@@ -1487,34 +1485,6 @@ Integer->does('Comparable'); # also true!
-
-
-
-
@@ -2422,9 +2392,9 @@ around run => sub {
class_type
use Moose::Util::TypeConstraints;
-class_type 'DateTime';
+
+class_type 'DateTime';
+
+
subtype 'DateTime',
+
+subtype 'DateTime',
as 'Object',
where { $_->isa('DateTime') },
message { ... };
@@ -2644,11 +2618,15 @@ class_type 'DateTime';
role_type
use Moose::Util::TypeConstraints;
-role_type 'Printable';
+
+role_type 'Printable';
+
+
subtype 'Printable',
+
+subtype 'Printable',
as 'Object',
where
{ Moose::Util::does_role(
@@ -2660,11 +2638,15 @@ role_type 'Printable';
Subtype Shortcuts - duck_type
use Moose::Util::TypeConstraints;
-duck_type Car => qw( run break_down );
+
+duck_type Car => qw( run break_down );
+
+
subtype 'Car',
+
+subtype 'Car',
as 'Object',
where { all { $_->can($_) }
qw( run break_down ) },
@@ -2675,11 +2657,15 @@ duck_type Car => qw( run break_down );
Subtype Shortcuts - enum
use Moose::Util::TypeConstraints;
-enum Color => qw( red blue green );
+
+enum Color => qw( red blue green );
+
+
my %ok = map { $_ => 1 }
+
+my %ok = map { $_ => 1 }
qw( red blue green );
subtype 'Color'
@@ -2694,7 +2680,9 @@ subtype 'Color'
package Person;
my $posint =
- subtype as 'Int', where { $_ > 0 };
+ subtype
+ as 'Int',
+ where { $_ > 0 };
has size => (
is => 'ro',
@@ -2852,7 +2840,7 @@ sub work {
Digression: The Type Registry
- - Types are actually
Moose::Meta::TypeConstraints
objects
+ - Types are actually
Moose::Meta::TypeConstraint
objects
- Stored in an interpreter-global registry mapping names to objects
@@ -2974,10 +2962,21 @@ has transaction_history => (
+
+
@@ -3719,7 +3718,7 @@ with HasCollection => { type => 'Int' };