use Carp qw(confess);
use Scalar::Util ();
-our $VERSION = '0.03';
+our $VERSION = '0.04';
use base 'autobox';
+use Moose::Autobox::Undef;
+
sub import {
(shift)->SUPER::import(
DEFAULT => 'Moose::Autobox::',
{
package Moose::Autobox::SCALAR;
- # NOTE:
- # this doesnt make sense, but
- # I need to prevent Moose from
- # assiging to @ISA
- use base 'UNIVERSAL';
- use Moose;
- with 'Moose::Autobox::Scalar';
+
+ use Moose::Autobox::Scalar;
+
+ use metaclass 'Moose::Meta::Class';
+
+ __PACKAGE__->meta->_apply_all_roles('Moose::Autobox::Scalar');
*does = \&Moose::Object::does;
package Moose::Autobox::ARRAY;
- use base 'UNIVERSAL';
- use Moose;
- with 'Moose::Autobox::Array';
+
+ use Moose::Autobox::Array;
+
+ use metaclass 'Moose::Meta::Class';
+
+ __PACKAGE__->meta->_apply_all_roles('Moose::Autobox::Array');
*does = \&Moose::Object::does;
package Moose::Autobox::HASH;
- use base 'UNIVERSAL';
- use Moose;
- with 'Moose::Autobox::Hash';
+
+ use Moose::Autobox::Hash;
+
+ use metaclass 'Moose::Meta::Class';
+
+ __PACKAGE__->meta->_apply_all_roles('Moose::Autobox::Hash');
*does = \&Moose::Object::does;
package Moose::Autobox::CODE;
- use base 'UNIVERSAL';
- use Moose;
- with 'Moose::Autobox::Code';
+
+ use Moose::Autobox::Code;
+
+ use metaclass 'Moose::Meta::Class';
+
+ __PACKAGE__->meta->_apply_all_roles('Moose::Autobox::Code');
*does = \&Moose::Object::does;
=head1 NAME
-Moose::Autobox - Autoboxed for her pleasure
+Moose::Autobox - Ruby ain't got nothin on us
=head1 SYNOPOSIS
use Moose::Autobox;
- use autobox;
print 'Print squares from 1 to 10 : ';
print [ 1 .. 10 ]->map(sub { $_ * $_ })->join(', ');
Stevan Little E<lt>stevan@iinteractive.comE<gt>
+B<with contributions from:>
+
+Anders (Debolaz) Nor Berle
+
+Matt (mst) Trout
+
+renormalist
+
=head1 COPYRIGHT AND LICENSE
-Copyright 2006 by Infinity Interactive, Inc.
+Copyright 2006-2007 by Infinity Interactive, Inc.
L<http://www.iinteractive.com>