use warnings;
use Carp ();
use Scalar::Util ();
-use MRO::Compat;
+
+BEGIN {
+ if ($] < 5.009_005) {
+ require MRO::Compat;
+ }
+ else {
+ require mro;
+ }
+}
our $VERSION = '0.10002';
$VERSION = eval $VERSION if $VERSION =~ /_/; # numify for warning-free dev releases
=head1 SYNOPSIS
+ use base 'Class::Accessor::Grouped';
+
+ # make basic accessors for objects
+ __PACKAGE__->mk_group_accessors(simple => qw(id name email));
+
+ # make accessor that works for objects and classes
+ __PACKAGE__->mk_group_accessors(inherited => 'awesome_level');
+
=head1 DESCRIPTION
This class lets you build groups of accessors that will call different
=head2 mk_group_accessors
+ __PACKAGE__->mk_group_accessors(simple => 'hair_length');
+
=over 4
=item Arguments: $group, @fieldspec
=head2 mk_group_ro_accessors
+ __PACKAGE__->mk_group_ro_accessors(simple => 'birthdate');
+
=over 4
=item Arguments: $group, @fieldspec
=head2 mk_group_wo_accessors
+ __PACKAGE__->mk_group_wo_accessors(simple => 'lie');
+
=over 4
=item Arguments: $group, @fieldspec
=head2 make_group_accessor
+ __PACKAGE__->make_group_accessor(simple => 'hair_length', 'hair_length');
+
=over 4
=item Arguments: $group, $field, $method
=head2 make_group_ro_accessor
+ __PACKAGE__->make_group_ro_accessor(simple => 'birthdate', 'birthdate');
+
=over 4
=item Arguments: $group, $field, $method
=head2 make_group_wo_accessor
+ __PACKAGE__->make_group_wo_accessor(simple => 'lie', 'lie');
+
=over 4
=item Arguments: $group, $field, $method
Caelum: Rafael Kitover <rkitover@cpan.org>
+frew: Arthur Axel "fREW" Schmidt <frioux@gmail.com>
+
groditi: Guillermo Roditi <groditi@cpan.org>
Jason Plum <jason.plum@bmmsi.com>