Meta MooseTuesday, September 18, 12
About Me                            Ynon Perek                            me@ynonperek.com                            This...
Meta Who                            Person                Keynote                                       has manyTuesday, S...
Meta Who              Meta-Person                         Meta-Keynote                            Person                  ...
Meta Class                            What can my class do ?                            What does my class know ?Tuesday, ...
Meta Zombie          package main;          my $z = Zombie->new;          while (chomp ( my $that = <> ) ) {              ...
Real Zombies...Tuesday, September 18, 12
Useful Meta                            MooseX::HasDefaults::RO                            Assign a meta-role to every attr...
Useful Meta                            MooseX::FollowPBP                            Automatically set reader and writer to...
Useful Meta                            MooseX::Privacy                            Private Methods Using                   ...
MooseX::Privacy                use MooseX::Privacy;                has config   =>   (                    is       =>   rw...
A few more                                           package MyApp;                                           use MooseX::...
Meta MeTuesday, September 18, 12
What I Had                       Quote      Video     KeynoteTuesday, September 18, 12
What I Need                       Quote       Video     Keynote                     admin/        admin/    admin/        ...
The Meta Way        has name,        isa => Str, required => 1, in_db => 1,           form_opts => { type => text_field}; ...
Q&ATuesday, September 18, 12
Photos From                        zombies (slide 7): http://www.flickr.com/                        photos/cwsteeds/470108...
Upcoming SlideShare
Loading in...5
×

Metamoose

1,068

Published on

Published in: Technology, News & Politics
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
1,068
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
7
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Metamoose

  1. 1. Meta MooseTuesday, September 18, 12
  2. 2. About Me Ynon Perek me@ynonperek.com This keynote is available at: http://ynonperek.comTuesday, September 18, 12
  3. 3. Meta Who Person Keynote has manyTuesday, September 18, 12
  4. 4. Meta Who Meta-Person Meta-Keynote Person Keynote has manyTuesday, September 18, 12
  5. 5. Meta Class What can my class do ? What does my class know ?Tuesday, September 18, 12
  6. 6. Meta Zombie package main; my $z = Zombie->new; while (chomp ( my $that = <> ) ) { my $m = Zombie->meta->find_method_by_name("eat_${that}"); $m->execute($z) if $m; }Tuesday, September 18, 12
  7. 7. Real Zombies...Tuesday, September 18, 12
  8. 8. Useful Meta MooseX::HasDefaults::RO Assign a meta-role to every attribute which adds: is => ‘ro’ Uses _process_optionsTuesday, September 18, 12
  9. 9. Useful Meta MooseX::FollowPBP Automatically set reader and writer to get_name and set_nameTuesday, September 18, 12
  10. 10. Useful Meta MooseX::Privacy Private Methods Using metaTuesday, September 18, 12
  11. 11. MooseX::Privacy use MooseX::Privacy; has config => ( is => rw, isa => Some::Config, traits => [qw/Private/], ); private_method foo => sub { return 23; };Tuesday, September 18, 12
  12. 12. A few more package MyApp; use MooseX::Singleton; MooseX::Singleton package main; MooseX::YAML my $instance = MyApp->instance; my $same = MyApp->instance;Tuesday, September 18, 12
  13. 13. Meta MeTuesday, September 18, 12
  14. 14. What I Had Quote Video KeynoteTuesday, September 18, 12
  15. 15. What I Need Quote Video Keynote admin/ admin/ admin/ quote video keynoteTuesday, September 18, 12
  16. 16. The Meta Way has name, isa => Str, required => 1, in_db => 1, form_opts => { type => text_field}; has description, isa => Str, required => 1, in_db => 1, form_opts => { type => textarea_field }; has url, isa => Str, required => 1, in_db => 1, form_opts => { type => text_field}; has category, isa => Str, default => , in_db => 1, form_opts => { type => select_field, options => YPCourse::Category->get_categories, };Tuesday, September 18, 12
  17. 17. Q&ATuesday, September 18, 12
  18. 18. Photos From zombies (slide 7): http://www.flickr.com/ photos/cwsteeds/4701084069/ gate (slide 10): http:// www.photoxpress.com/stock-photos/rust/ chains/lock/2544705 everything else: http://123rf.comTuesday, September 18, 12
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×