init_sub_layouts ist sauberer
authorSven Schöling <s.schoeling@linet-services.de>
Tue, 16 Oct 2012 18:22:58 +0000 (20:22 +0200)
committerSven Schöling <s.schoeling@linet-services.de>
Wed, 17 Oct 2012 14:04:12 +0000 (16:04 +0200)
SL/Layout/Admin.pm
SL/Layout/Base.pm
SL/Layout/Classic.pm
SL/Layout/Javascript.pm
SL/Layout/V3.pm
SL/Layout/V4.pm

index 188655f..00e3125 100644 (file)
@@ -3,16 +3,8 @@ package SL::Layout::Admin;
 use strict;
 use parent qw(SL::Layout::Base);
 
-sub new {
-  my ($class, @slurp) = @_;
-
-  my $self = $class->SUPER::new(@slurp);
-
-  $self->add_sub_layouts([
-    SL::Layout::None->new,
-  ]);
-
-  $self;
+sub init_sub_layouts {
+  [ SL::Layout::None->new ]
 }
 
 sub start_content {
index 18ef133..0c209e2 100644 (file)
@@ -11,8 +11,8 @@ use Rose::Object::MakeMethods::Generic (
   'array'                 => [
     'add_stylesheets_inline' => { interface => 'add', hash_key => 'stylesheets_inline' },
     'add_javascripts_inline' => { interface => 'add', hash_key => 'javascripts_inline' },
-    'sub_layouts',
-    'add_sub_layouts'         => { interface => 'add', hash_key => 'sub_layouts' },
+    'sub_layouts',           => { interface => 'get_set_init' },
+    'add_sub_layouts'        => { interface => 'add', hash_key => 'sub_layouts' },
   ],
 );
 
@@ -60,6 +60,8 @@ sub javascripts_inline {
   @{ $_[0]->{javascripts_inline} || [] };
 }
 
+sub init_sub_layouts { [] }
+
 
 #########################################
 # Interface
index a2ef770..9503d05 100644 (file)
@@ -5,19 +5,14 @@ use parent qw(SL::Layout::Base);
 
 use SL::Layout::Top;
 use SL::Layout::MenuLeft;
+use SL::Layout::None;
 
-sub new {
-  my ($class, @slurp) = @_;
-
-  my $self = $class->SUPER::new(@slurp);
-
-  $self->add_sub_layouts([
+sub init_sub_layouts {
+  [
     SL::Layout::Top->new,
     SL::Layout::MenuLeft->new,
     SL::Layout::None->new,
-  ]);
-
-  $self;
+  ]
 }
 
 1;
index 28731ec..d8f079f 100644 (file)
@@ -6,16 +6,8 @@ use parent qw(SL::Layout::Base);
 use List::Util qw(max);
 use URI;
 
-sub new {
-  my ($class, @slurp) = @_;
-
-  my $self = $class->SUPER::new(@slurp);
-
-  $self->add_sub_layouts([
-    SL::Layout::None->new,
-  ]);
-
-  $self;
+sub init_sub_layouts {
+  [ SL::Layout::None->new ]
 }
 
 sub pre_content {
index 78b498e..4769c40 100644 (file)
@@ -6,16 +6,8 @@ use SL::Layout::Css;
 
 use URI;
 
-sub new {
-  my ($class, @slurp) = @_;
-
-  my $self = $class->SUPER::new(@slurp);
-
-  $self->add_sub_layouts([
-    SL::Layout::None->new,
-  ]);
-
-  $self;
+sub init_sub_layouts {
+  [ SL::Layout::None->new ]
 }
 
 sub pre_content {
index fff1dfe..81789d4 100644 (file)
@@ -7,15 +7,11 @@ use SL::Layout::Top;
 
 use URI;
 
-sub new {
-  my ($class, @slurp) = @_;
-
-  my $self = $class->SUPER::new(@slurp);
-  $self->add_sub_layouts(
+sub init_sub_layouts {
+  [
     SL::Layout::Top->new,
     SL::Layout::None->new,
-  );
-  $self;
+  ]
 }
 
 sub start_content {