Refactoring: SL::Template: Parameterübergabe als Hash, nicht positionsabhängig
authorMoritz Bunkus <m.bunkus@linet-services.de>
Thu, 16 Jan 2014 08:55:14 +0000 (09:55 +0100)
committerMoritz Bunkus <m.bunkus@linet-services.de>
Tue, 1 Apr 2014 11:12:26 +0000 (13:12 +0200)
SL/Template.pm
SL/Template/Simple.pm

index df6dbec..903ea90 100644 (file)
@@ -25,7 +25,13 @@ sub create {
   my %params  = @_;
   my $package = "SL::Template::" . $params{type};
 
-  $package->new($params{file_name}, $params{form}, $params{myconfig} || \%::myconfig, $params{userspath} || $::lx_office_conf{paths}->{userspath});
+  $package->new(
+    %params,
+    source    => $params{file_name},
+    form      => $params{form},
+    myconfig  => $params{myconfig}  || \%::myconfig,
+    userspath => $params{userspath} || $::lx_office_conf{paths}->{userspath},
+  );
 }
 
 sub available_templates {
index be5ba8b..8696796 100644 (file)
@@ -30,12 +30,9 @@ sub new {
 }
 
 sub _init {
-  my $self = shift;
+  my ($self, %params) = @_;
 
-  $self->{source}    = shift;
-  $self->{form}      = shift;
-  $self->{myconfig}  = shift;
-  $self->{userspath} = shift;
+  $self->{$_} = $params{$_} for keys %params;
 
   $self->{error}     = undef;
   $self->{quot_re}   = '"';