]> wagnertech.de Git - kivitendo-erp.git/commitdiff
Helferfunktion zum Aufruf von Subs mit zusammengesetztem Namen
authorMoritz Bunkus <m.bunkus@linet-services.de>
Wed, 12 Jan 2011 14:52:47 +0000 (15:52 +0100)
committerMoritz Bunkus <m.bunkus@linet-services.de>
Wed, 12 Jan 2011 15:15:39 +0000 (16:15 +0100)
Conflicts:

SL/DB/Object.pm

SL/DB/Object.pm

index 0a698268ca91ffcb02df64f1a2f11a56666a832e..9ac7644f9ae1dc0632f11c90ddf6a4eaa2513706 100644 (file)
@@ -79,6 +79,12 @@ sub update_attributes {
   return $self;
 }
 
   return $self;
 }
 
+sub call_sub {
+  my $self = shift;
+  my $sub  = shift;
+  return $self->$sub(@_);
+}
+
 1;
 
 __END__
 1;
 
 __END__
@@ -132,6 +138,14 @@ Returns the manager package for the object or class that it is called
 on. Can be used from methods in this package for getting the actual
 object's manager.
 
 on. Can be used from methods in this package for getting the actual
 object's manager.
 
+=item C<call_sub $name, @args>
+
+Calls the sub C<$name> on C<$self> with the arguments C<@args> and
+returns its result. This is meant for situations in which the sub's
+name is a composite, e.g.
+
+  my $chart_id = $buchungsgruppe->call_sub(($is_sales ? "income" : "expense") . "_accno_id_${taxzone_id}");
+
 =back
 
 =head1 AUTHOR
 =back
 
 =head1 AUTHOR