use Mouse::Meta::TypeConstraint;
-#use Mouse::Meta::Method::Accessor;
-use Mouse::Meta::Method::Delegation;
-
sub _process_options{
my($class, $name, $args) = @_;
sub get_read_method_ref{
my($self) = @_;
-
return $self->{_read_method_ref} ||= $self->_get_accessor_method_ref('get_read_method', '_generate_reader');
}
sub get_write_method_ref{
my($self) = @_;
-
return $self->{_write_method_ref} ||= $self->_get_accessor_method_ref('get_write_method', '_generate_writer');
}
sub has_value {
my($self, $object) = @_;
- my $predicate_ref = $self->{_predicate_ref}
+ my $accessor_ref = $self->{_predicate_ref}
||= $self->_get_accessor_method_ref('predicate', '_generate_predicate');
- return $predicate_ref->($object);
+ return $accessor_ref->($object);
}
sub clear_value {
my($self, $object) = @_;
- my $predicate_ref = $self->{_crealer_ref}
+ my $accessor_ref = $self->{_crealer_ref}
||= $self->_get_accessor_method_ref('clearer', '_generate_clearer');
- return $predicate_ref->($object);
+ return $accessor_ref->($object);
}
my %handles = $attribute->_canonicalize_handles($attribute->{handles});
my $reader = $attribute->get_read_method_ref;
+ Mouse::Util::load_class($delegation_class);
+
while(my($handle_name, $method_to_call) = each %handles){
my $code = $delegation_class->_generate_delegation($attribute, $metaclass,
$reader, $handle_name, $method_to_call);