Kategorie bei Flash prüfen.
authorSven Schöling <s.schoeling@linet-services.de>
Tue, 11 Jan 2011 14:37:17 +0000 (15:37 +0100)
committerSven Schöling <s.schoeling@linet-services.de>
Mon, 13 Feb 2012 16:12:39 +0000 (17:12 +0100)
SL/Helper/Flash.pm

index 78a94e3..f55366c 100644 (file)
@@ -7,6 +7,11 @@ our @ISA       = qw(Exporter);
 our @EXPORT    = qw(flash flash_later);
 our @EXPORT_OK = qw(render_flash);
 
+my %valid_categories = (
+  map({$_ => 'info'} qw(information message)),
+  map({$_ => $_}     qw(info error warning)),
+);
+
 #
 # public functions
 #
@@ -29,8 +34,7 @@ sub render_flash {
 
 sub _store_flash {
   my $store    = shift || { };
-  my $category = shift;
-  $category    = 'info' if $category eq 'information';
+  my $category = _check_category(+shift);
 
   $store                ||= { };
   $store->{ $category } ||= [ ];
@@ -39,6 +43,12 @@ sub _store_flash {
   return $store;
 }
 
+sub _check_category {
+  my ($c) = @_;
+  return $valid_categories{$c}
+    || die 'invalid category for flash';
+}
+
 1;
 
 __END__