more-method-refactoring
[gitmo/Class-MOP.git] / examples / LazyClass.pod
index d884096..7c9d00a 100644 (file)
@@ -7,7 +7,7 @@ use warnings;
 
 use Carp 'confess';
 
-our $VERSION = '0.04';
+our $VERSION = '0.05';
 
 use base 'Class::MOP::Attribute';
 
@@ -24,8 +24,22 @@ sub initialize_instance_slot {
        }
 }
 
+sub accessor_metaclass { 'LazyClass::Method::Accessor' }
+
+package # hide the package from PAUSE
+    LazyClass::Method::Accessor;
+
+use strict;
+use warnings;
+
+use Carp 'confess';
+
+our $VERSION = '0.01';
+
+use base 'Class::MOP::Method::Accessor';
+
 sub generate_accessor_method {
-    my $attr = shift;
+    my $attr = (shift)->associated_attribute;
 
        my $attr_name = $attr->name;
        my $meta_instance = $attr->associated_class->get_meta_instance;
@@ -46,7 +60,7 @@ sub generate_accessor_method {
 }
 
 sub generate_reader_method {
-       my $attr = shift;
+    my $attr = (shift)->associated_attribute;
 
        my $attr_name = $attr->name;
        my $meta_instance = $attr->associated_class->get_meta_instance;
@@ -63,8 +77,6 @@ sub generate_reader_method {
     };   
 }
 
-
-
 package # hide the package from PAUSE
     LazyClass::Instance;