summaryrefslogtreecommitdiffstats
path: root/lib/MooseX/NonMoose/Meta/Role/Class.pm
diff options
context:
space:
mode:
authorJesse Luehrs <doy@tozt.net>2009-05-04 01:46:31 -0500
committerJesse Luehrs <doy@tozt.net>2009-05-04 01:46:31 -0500
commit94ca14721241ff804bab06c56867574887dcd907 (patch)
tree26a279043f87fced42a86b4c44db36911e3a0a2e /lib/MooseX/NonMoose/Meta/Role/Class.pm
parent3124dd53f3e42ff47cb2d4c6e94530a362f98544 (diff)
downloadmoosex-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.pm5
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,