factor out accessor generation code a bit
[gitmo/Moo.git] / lib / Method / Generate / Accessor.pm
index ea5a4ed..9d15768 100644 (file)
@@ -102,7 +102,7 @@ sub generate_method {
   if (my $cl = $spec->{clearer}) {
     $methods{$cl} =
       quote_sub "${into}::${cl}" => 
-        "    delete \$_[0]->{${\perlstring $name}}\n"
+        $self->_generate_simple_clear('$_[0]', $name)."\n"
       ;
   }
   if (my $hspec = $spec->{handles}) {
@@ -181,6 +181,11 @@ sub _generate_simple_has {
   "exists ${me}->{${\perlstring $name}}";
 }
 
+sub _generate_simple_clear {
+  my ($self, $me, $name) = @_;
+  "    delete ${me}->{${\perlstring $name}}\n"
+}
+
 sub generate_get_default {
   my $self = shift;
   $self->{captures} = {};
@@ -451,4 +456,6 @@ sub _generate_xs {
   $into->can($name);
 }
 
+sub default_construction_string { '{}' }
+
 1;