Rose-Model-Creation: use parent anstelle von use base nutzen
authorMoritz Bunkus <m.bunkus@linet-services.de>
Thu, 24 Sep 2015 08:19:23 +0000 (10:19 +0200)
committerMoritz Bunkus <m.bunkus@linet-services.de>
Thu, 24 Sep 2015 09:43:27 +0000 (11:43 +0200)
Momentan benutzt die kivitendo-Codebasis beides zu ähnlich großen
Teilen. Allerdings sagt allein schon die Dokumentation zu base(3perl),
dass eigentlich immer das leichtgewichtigere parent(3perl) zu bevorzugen
ist.

scripts/rose_auto_create_model.pl

index 7399b0a..54693cb 100755 (executable)
@@ -148,8 +148,7 @@ CODE
 
   eval <<CODE;
     package SL::DB::AUTO::$package;
-    use SL::DB::Object;
-    use base qw(SL::DB::Object);
+    use parent qw(SL::DB::Object);
 
     __PACKAGE__->meta->table('$table');
     $schema_str
@@ -208,6 +207,7 @@ CODE
   }
 
   $definition =~ s/(meta->table.*)\n/$1\n$schema_str/m if $schema;
+  $definition =~ s{^use base}{use parent}m;
 
   my $full_definition = <<CODE;
 # This file has been auto-generated. Do not modify it; it will be overwritten
@@ -274,8 +274,7 @@ package SL::DB::Manager::${package};
 
 use strict;
 
-use SL::DB::Helper::Manager;
-use base qw(SL::DB::Helper::Manager);
+use parent qw(SL::DB::Helper::Manager);
 
 sub object_class { 'SL::DB::${package}' }