SL::{Controller,Presenter}->render: $template kann auch ref auf Instanz von EscapedTe...
authorMoritz Bunkus <m.bunkus@linet-services.de>
Wed, 27 Feb 2013 13:18:26 +0000 (14:18 +0100)
committerMoritz Bunkus <m.bunkus@linet-services.de>
Wed, 27 Feb 2013 13:22:18 +0000 (14:22 +0100)
commitf3978ea1c30d283b9d46be0766a33c568ade511c
treeab6c3dc69bea73d34829a503230e58ce069c5901
parentdac8a13645336de9db50c3d1ee5c5009ec129958
SL::{Controller,Presenter}->render: $template kann auch ref auf Instanz von EscapedText sein

Die folgenden Fälle werden nun für $template wie folgt behandelt:

- keine Ref: $tempalte wird als Dateiname interpretiert
- Ref auf einen String (ref eq 'SCALAR'): Zu rendernder String,
  direkte Übergabe an Template
- Instanz von EscapedText und Ref auf Instanz von EscapedText: Zu
  rendernder String ist der von EscapedText geproxite Text, direkte
  Übergabe an Template mit "process => 1" und direktes Zurückgeben mit
  "process => 0"

Damit ist es aus Caller-Sicht einfacher, den Aufruf richtig
hinzubekommen:

  my $some_result = $self->presenter->grouped_record_list($objects);
  # Don't care whether or not $some_result is already an instance of
  # EscapedText: never treat this as a file name
  $self->render(\$some_result, { layout => 0 });
SL/Controller/Base.pm
SL/Presenter.pm