use 5.008;
use Scalar::Util 'blessed';
-use Carp 'confess';
+use Carp 'carp', 'confess';
use Class::Load 'is_class_loaded';
-
use Moose::Deprecated;
use Moose::Exporter;
Moose->throw_error('Usage: has \'name\' => ( key => value, ... )')
if @_ % 2 == 1;
- my %options = ( definition_context => Moose::Util::_caller_info(), @_ );
+ my %context = Moose::Util::_caller_info;
+ $context{context} = 'has declaration';
+ $context{type} = 'class';
+ my %options = ( definition_context => \%context, @_ );
my $attrs = ( ref($name) eq 'ARRAY' ) ? $name : [ ($name) ];
$meta->add_attribute( $_, %options ) for @$attrs;
}
our @SUPER_ARGS;
sub super {
+ if (@_) {
+ carp 'Arguments passed to super() are ignored';
+ }
+
# This check avoids a recursion loop - see
# t/bugs/super_recursion.t
return if defined $SUPER_PACKAGE && $SUPER_PACKAGE ne caller();
This channel is quite active, and questions at all levels (on Moose-related
topics ;) are welcome.
+=head1 WHAT DOES MOOSE STAND FOR?
+
+Moose doesn't stand for one thing in particular, however, if you want, here
+are a few of our favorites. Feel free to contribute more!
+
+=over 4
+
+=item * Make Other Object Systems Envious
+
+=item * Makes Object Orientation So Easy
+
+=item * Makes Object Orientation Spiffy- Er (sorry ingy)
+
+=item * Most Other Object Systems Emasculate
+
+=item * Moose Often Ovulate Sorta Early
+
+=item * Moose Offers Often Super Extensions
+
+=item * Meta Object Obligates Salivary Excitation
+
+=item * Meta Object Orientation Syntax Extensions
+
+=back
+
=head1 ACKNOWLEDGEMENTS
=over 4
Dave (autarch) Rolsky E<lt>autarch@urth.orgE<gt>
+Karen (ether) Etheridge E<lt>ether@cpan.orgE<gt>
+
=head1 CONTRIBUTORS
Moose is a community project, and as such, involves the work of many, many