Mo: Added an override() export

This commit is contained in:
Brian Fraser fraserb@gmail.com
2013-01-14 12:48:03 -03:00
parent 8e36056359
commit cd32c04ed1

View File

@@ -177,6 +177,7 @@ sub Mo::import {
_set_package_isa($caller, @_);
_set_inherited_metadata($caller);
},
override => \&override,
has => sub {
my $names = shift;
for my $attribute ( ref $names ? @$names : $names ) {
@@ -512,6 +513,16 @@ BEGIN {
}
}
sub override {
my ($methods, $code) = @_;
my $caller = scalar caller;
for my $method ( ref($methods) ? @$methods : $methods ) {
my $full_method = "${caller}::${method}";
*{_glob_for $full_method} = $code;
}
}
}
1;
# ###########################################################################