Revision history for Perl extension Moose
+0.55
+
+ * Moose::Meta::Attribute
+ - breaking down the way 'handles' methods are
+ created so that the process can be more easily
+ overridden by subclasses (stevan)
+
0.54 Thurs. July 3, 2008
... this is not my day today ...
use strict;
use warnings;
-our $VERSION = '0.54';
+our $VERSION = '0.55';
our $AUTHORITY = 'cpan:STEVAN';
use Scalar::Util 'blessed';
use Carp 'confess';
use overload ();
-our $VERSION = '0.54';
+our $VERSION = '0.55';
our $AUTHORITY = 'cpan:STEVAN';
use Moose::Meta::Method::Accessor;
# this will sort out any details and always
# return an hash of methods which we want
# to delagate to, see that method for details
- my %handles = $self->_canonicalize_handles();
+ my %handles = $self->_canonicalize_handles;
# find the accessor method for this attribute
- my $accessor = $self->get_read_method_ref;
- # then unpack it if we need too ...
- $accessor = $accessor->body if blessed $accessor;
+ my $accessor = $self->_get_delegate_accessor;
# install the delegation ...
my $associated_class = $self->associated_class;
# private methods to help delegation ...
+sub _get_delegate_accessor {
+ my $self = shift;
+ # find the accessor method for this attribute
+ my $accessor = $self->get_read_method_ref;
+ # then unpack it if we need too ...
+ $accessor = $accessor->body if blessed $accessor;
+ # return the accessor
+ return $accessor;
+}
+
sub _canonicalize_handles {
my $self = shift;
my $handles = $self->handles;
use Carp 'confess';
use Scalar::Util 'weaken', 'blessed';
-our $VERSION = '0.54';
+our $VERSION = '0.55';
our $AUTHORITY = 'cpan:STEVAN';
use Moose::Meta::Method::Overriden;
use strict;
use warnings;
-our $VERSION = '0.54';
+our $VERSION = '0.55';
our $AUTHORITY = 'cpan:STEVAN';
use base "Class::MOP::Instance";
use strict;
use warnings;
-our $VERSION = '0.54';
+our $VERSION = '0.55';
our $AUTHORITY = 'cpan:STEVAN';
use base 'Class::MOP::Method';
use Carp 'confess';
-our $VERSION = '0.54';
+our $VERSION = '0.55';
our $AUTHORITY = 'cpan:STEVAN';
use base 'Moose::Meta::Method',
use Carp 'confess';
-our $VERSION = '0.54';
+our $VERSION = '0.55';
our $AUTHORITY = 'cpan:STEVAN';
use base 'Moose::Meta::Method';
use Carp 'confess';
use Scalar::Util 'blessed', 'weaken', 'looks_like_number';
-our $VERSION = '0.54';
+our $VERSION = '0.55';
our $AUTHORITY = 'cpan:STEVAN';
use base 'Moose::Meta::Method',
use Carp 'confess';
use Scalar::Util 'blessed', 'weaken';
-our $VERSION = '0.54';
+our $VERSION = '0.55';
our $AUTHORITY = 'cpan:STEVAN';
use base 'Moose::Meta::Method',
use Carp 'confess';
-our $VERSION = '0.54';
+our $VERSION = '0.55';
our $AUTHORITY = 'cpan:STEVAN';
use base 'Moose::Meta::Method';
use Carp 'confess';
use Scalar::Util 'blessed';
-our $VERSION = '0.54';
+our $VERSION = '0.55';
our $AUTHORITY = 'cpan:STEVAN';
use Moose::Meta::Class;
use warnings;
use metaclass;
-our $VERSION = '0.54';
+our $VERSION = '0.55';
our $AUTHORITY = 'cpan:STEVAN';
__PACKAGE__->meta->add_attribute('method_exclusions' => (
use Moose::Meta::Role::Composite;
-our $VERSION = '0.54';
+our $VERSION = '0.55';
our $AUTHORITY = 'cpan:STEVAN';
use base 'Moose::Meta::Role::Application';
use Data::Dumper;
-our $VERSION = '0.54';
+our $VERSION = '0.55';
our $AUTHORITY = 'cpan:STEVAN';
use base 'Moose::Meta::Role::Application';
use Carp 'confess';
use Scalar::Util 'blessed';
-our $VERSION = '0.54';
+our $VERSION = '0.55';
our $AUTHORITY = 'cpan:STEVAN';
use base 'Moose::Meta::Role::Application::ToClass';
use Data::Dumper;
-our $VERSION = '0.54';
+our $VERSION = '0.55';
our $AUTHORITY = 'cpan:STEVAN';
use base 'Moose::Meta::Role::Application';
use Carp 'confess';
use Scalar::Util 'blessed';
-our $VERSION = '0.54';
+our $VERSION = '0.55';
our $AUTHORITY = 'cpan:STEVAN';
use base 'Moose::Meta::Role';
use strict;
use warnings;
-our $VERSION = '0.54';
+our $VERSION = '0.55';
our $AUTHORITY = 'cpan:STEVAN';
use base 'Class::MOP::Method';
use strict;
use warnings;
-our $VERSION = '0.54';
+our $VERSION = '0.55';
our $AUTHORITY = 'cpan:STEVAN';
use base 'Moose::Meta::Role::Method';
use Moose::Meta::Attribute;
use Moose::Util::TypeConstraints ();
-our $VERSION = '0.54';
+our $VERSION = '0.55';
our $AUTHORITY = 'cpan:STEVAN';
__PACKAGE__->meta->add_attribute('type_coercion_map' => (
use Carp 'confess';
use Scalar::Util 'blessed';
-our $VERSION = '0.54';
+our $VERSION = '0.55';
our $AUTHORITY = 'cpan:STEVAN';
use base 'Moose::Meta::TypeCoercion';
use Carp 'confess';
use Scalar::Util qw(blessed refaddr);
-our $VERSION = '0.54';
+our $VERSION = '0.55';
our $AUTHORITY = 'cpan:STEVAN';
__PACKAGE__->meta->add_attribute('name' => (reader => 'name'));
use Scalar::Util 'blessed';
use Moose::Util::TypeConstraints ();
-our $VERSION = '0.54';
+our $VERSION = '0.55';
our $AUTHORITY = 'cpan:STEVAN';
use base 'Moose::Meta::TypeConstraint';
use Moose::Util::TypeConstraints ();
-our $VERSION = '0.54';
+our $VERSION = '0.55';
our $AUTHORITY = 'cpan:STEVAN';
use base 'Moose::Meta::TypeConstraint';
use warnings;
use metaclass;
-our $VERSION = '0.54';
+our $VERSION = '0.55';
our $AUTHORITY = 'cpan:STEVAN';
use base 'Moose::Meta::TypeConstraint';
use Carp 'confess';
use Moose::Util::TypeConstraints;
-our $VERSION = '0.54';
+our $VERSION = '0.55';
our $AUTHORITY = 'cpan:STEVAN';
use base 'Moose::Meta::TypeConstraint';
use Scalar::Util 'blessed';
use Carp 'confess';
-our $VERSION = '0.54';
+our $VERSION = '0.55';
our $AUTHORITY = 'cpan:STEVAN';
use base 'Class::MOP::Object';
use Scalar::Util 'blessed';
use Moose::Util::TypeConstraints ();
-our $VERSION = '0.54';
+our $VERSION = '0.55';
our $AUTHORITY = 'cpan:STEVAN';
use base 'Moose::Meta::TypeConstraint';
use Moose::Meta::TypeCoercion::Union;
-our $VERSION = '0.54';
+our $VERSION = '0.55';
our $AUTHORITY = 'cpan:STEVAN';
use base 'Moose::Meta::TypeConstraint';
use Carp 'confess';
-our $VERSION = '0.54';
+our $VERSION = '0.55';
our $AUTHORITY = 'cpan:STEVAN';
sub new {
use Data::OptList;
use Sub::Exporter;
-our $VERSION = '0.54';
+our $VERSION = '0.55';
our $AUTHORITY = 'cpan:STEVAN';
use Moose ();
use Carp 'confess';
use Class::MOP 0.56;
-our $VERSION = '0.54';
+our $VERSION = '0.55';
our $AUTHORITY = 'cpan:STEVAN';
my @exports = qw[
use Scalar::Util 'blessed';
use Sub::Exporter;
-our $VERSION = '0.54';
+our $VERSION = '0.55';
our $AUTHORITY = 'cpan:STEVAN';
## --------------------------------------------------------
use Scalar::Util 'blessed', 'looks_like_number';
-our $VERSION = '0.54';
+our $VERSION = '0.55';
our $AUTHORITY = 'cpan:STEVAN';
sub Value { defined($_[0]) && !ref($_[0]) }
use Moose::Util 'does_role', 'find_meta';
-our $VERSION = '0.54';
+our $VERSION = '0.55';
our $AUTHORITY = 'cpan:STEVAN';
my @exports = qw[
use Class::MOP;
-our $VERSION = '0.54';
+our $VERSION = '0.55';
our $AUTHORITY = 'cpan:STEVAN';
BEGIN {