diff options
author | Jesse Luehrs <doy@tozt.net> | 2009-05-04 01:46:31 -0500 |
---|---|---|
committer | Jesse Luehrs <doy@tozt.net> | 2009-05-04 01:46:31 -0500 |
commit | 94ca14721241ff804bab06c56867574887dcd907 (patch) | |
tree | 26a279043f87fced42a86b4c44db36911e3a0a2e /lib/MooseX/NonMoose/Meta/Role/Class.pm | |
parent | 3124dd53f3e42ff47cb2d4c6e94530a362f98544 (diff) | |
download | moosex-nonmoose-94ca14721241ff804bab06c56867574887dcd907.tar.gz moosex-nonmoose-94ca14721241ff804bab06c56867574887dcd907.zip |
start trying to add the FOREIGNBUILDARGS stuff
Diffstat (limited to 'lib/MooseX/NonMoose/Meta/Role/Class.pm')
-rw-r--r-- | lib/MooseX/NonMoose/Meta/Role/Class.pm | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/lib/MooseX/NonMoose/Meta/Role/Class.pm b/lib/MooseX/NonMoose/Meta/Role/Class.pm index 403b2c8..0ccc5b9 100644 --- a/lib/MooseX/NonMoose/Meta/Role/Class.pm +++ b/lib/MooseX/NonMoose/Meta/Role/Class.pm @@ -118,7 +118,10 @@ around superclasses => sub { my $class = shift; my $params = $class->BUILDARGS(@_); - my $instance = $super_new->execute($class, @_); + my @foreign_params = $class->can('FOREIGNBUILDARGS') + ? $class->FOREIGNBUILDARGS(@_) + : @_; + my $instance = $super_new->execute($class, @foreign_params); my $self = Class::MOP::Class->initialize($class)->new_object( __INSTANCE__ => $instance, %$params, |