• Like
Metamoose
Upcoming SlideShare
Loading in...5
×

Metamoose

  • 1,011 views
Uploaded on

 

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
1,011
On Slideshare
0
From Embeds
0
Number of Embeds
1

Actions

Shares
Downloads
6
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Meta MooseTuesday, September 18, 12
  • 2. About Me Ynon Perek me@ynonperek.com This keynote is available at: http://ynonperek.comTuesday, September 18, 12
  • 3. Meta Who Person Keynote has manyTuesday, September 18, 12
  • 4. Meta Who Meta-Person Meta-Keynote Person Keynote has manyTuesday, September 18, 12
  • 5. Meta Class What can my class do ? What does my class know ?Tuesday, September 18, 12
  • 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. Real Zombies...Tuesday, September 18, 12
  • 8. Useful Meta MooseX::HasDefaults::RO Assign a meta-role to every attribute which adds: is => ‘ro’ Uses _process_optionsTuesday, September 18, 12
  • 9. Useful Meta MooseX::FollowPBP Automatically set reader and writer to get_name and set_nameTuesday, September 18, 12
  • 10. Useful Meta MooseX::Privacy Private Methods Using metaTuesday, September 18, 12
  • 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. 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. Meta MeTuesday, September 18, 12
  • 14. What I Had Quote Video KeynoteTuesday, September 18, 12
  • 15. What I Need Quote Video Keynote admin/ admin/ admin/ quote video keynoteTuesday, September 18, 12
  • 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. Q&ATuesday, September 18, 12
  • 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