use 5.006;
use base 'Exporter';
-our $VERSION = '0.30';
+our $VERSION = '0.32';
+
+sub moose_version(){ 0.90 } # which Mouse is a subset of
use Carp 'confess';
use Scalar::Util 'blessed';
+
use Mouse::Util qw(load_class is_class_loaded);
-use Mouse::Meta::Attribute;
-use Mouse::Meta::Module; # class_of()
+use Mouse::Meta::Module;
use Mouse::Meta::Class;
+use Mouse::Meta::Role;
+use Mouse::Meta::Attribute;
use Mouse::Object;
-use Mouse::Util::TypeConstraints;
+use Mouse::Util::TypeConstraints ();
our @EXPORT = qw(extends has before after around override super blessed confess with);
delete $is_removable{blessed};
delete $is_removable{confess};
-sub extends { Mouse::Meta::Class->initialize(caller)->superclasses(@_) }
+sub extends { Mouse::Meta::Class->initialize(scalar caller)->superclasses(@_) }
sub has {
- my $meta = Mouse::Meta::Class->initialize(caller);
+ my $meta = Mouse::Meta::Class->initialize(scalar caller);
$meta->add_attribute(@_);
}
sub before {
- my $meta = Mouse::Meta::Class->initialize(caller);
+ my $meta = Mouse::Meta::Class->initialize(scalar caller);
my $code = pop;
}
sub after {
- my $meta = Mouse::Meta::Class->initialize(caller);
+ my $meta = Mouse::Meta::Class->initialize(scalar caller);
my $code = pop;
}
sub around {
- my $meta = Mouse::Meta::Class->initialize(caller);
+ my $meta = Mouse::Meta::Class->initialize(scalar caller);
my $code = pop;
}
sub with {
- Mouse::Util::apply_all_roles((caller)[0], @_);
+ Mouse::Util::apply_all_roles(scalar(caller), @_);
}
our $SUPER_PACKAGE;
unless $metaclass->isa('Mouse::Meta::Class');
# make a subtype for each Mouse class
- class_type($class)
- unless find_type_constraint($class);
+ Mouse::Util::TypeConstraints::class_type($class)
+ unless Mouse::Util::TypeConstraints::find_type_constraint($class);
my $meta = $metaclass->initialize($class);
$meta->superclasses($base_class)
wu-lee
+Goro Fuji (gfx) C<< <gfuji at cpan.org> >>
+
with plenty of code borrowed from L<Class::MOP> and L<Moose>
=head1 BUGS