File: FakeMetaClass.pm

package info (click to toggle)
libmoo-perl 0.091011-1
  • links: PTS, VCS
  • area: main
  • in suites: wheezy
  • size: 476 kB
  • sloc: perl: 1,688; makefile: 4; sh: 1
file content (20 lines) | stat: -rw-r--r-- 481 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
package Moo::HandleMoose::FakeMetaClass;

sub DESTROY { }

sub AUTOLOAD {
  my ($meth) = (our $AUTOLOAD =~ /([^:]+)$/);
  require Moo::HandleMoose;
  Moo::HandleMoose::inject_real_metaclass_for((shift)->{name})->$meth(@_)
}
sub can {
  require Moo::HandleMoose;
  Moo::HandleMoose::inject_real_metaclass_for((shift)->{name})->can(@_)
}
sub isa {
  require Moo::HandleMoose;
  Moo::HandleMoose::inject_real_metaclass_for((shift)->{name})->isa(@_)
}
sub make_immutable { $_[0] }

1;