[Jifty-commit] r6011 - in jifty/trunk: lib/Jifty/Plugin

Jifty commits jifty-commit at lists.jifty.org
Mon Nov 17 19:43:25 EST 2008


Author: sartak
Date: Mon Nov 17 19:43:24 2008
New Revision: 6011

Modified:
   jifty/trunk/   (props changed)
   jifty/trunk/lib/Jifty/Plugin/Chart.pm

Log:
 r75692 at onn:  sartak | 2008-11-17 19:43:17 -0500
 Allow renderers with :: in their name


Modified: jifty/trunk/lib/Jifty/Plugin/Chart.pm
==============================================================================
--- jifty/trunk/lib/Jifty/Plugin/Chart.pm	(original)
+++ jifty/trunk/lib/Jifty/Plugin/Chart.pm	Mon Nov 17 19:43:24 2008
@@ -135,26 +135,31 @@
     }
 
     # Prepend Jifty::Plugin::Chart::Renderer:: if we think we need to
-    if ( $renderer_class !~ /::/ ) {
-        $renderer_class = __PACKAGE__.'::Renderer::'.$renderer_class;
-    }
-
-    # Check to see if we already loaded this one
-    my $renderer = $self->renderers->{ $renderer_class };
-    return $renderer if defined $renderer;
-
-    # Tell perl to load the class
-    $renderer_class->require
-        or warn $@;
+    my @renderer_classes = (
+        $renderer_class,
+        __PACKAGE__ . '::Renderer::' . $renderer_class,
+    );
+
+    for my $renderer_class (@renderer_classes) {
+        # Check to see if we already loaded this one
+        my $renderer = $self->renderers->{ $renderer_class };
+        return $renderer if defined $renderer;
+
+        # Tell perl to load the class
+        unless ($renderer_class->require) {
+           warn $@ unless $@ =~ /^Can't locate /;
+           next;
+        }
 
-    # Initialize the renderer
-    $renderer = $renderer_class->new( %{ $self->plugin_args } );
+        # Initialize the renderer
+        $renderer = $renderer_class->new( %{ $self->plugin_args } );
 
-    # Remember it
-    $self->renderers->{ $renderer_class } = $renderer;
+        # Remember it
+        $self->renderers->{ $renderer_class } = $renderer;
 
-    # Return it!
-    return $renderer;
+        # Return it!
+        return $renderer;
+    }
 }
 
 =head1 SEE ALSO


More information about the Jifty-commit mailing list