[Jifty-commit] r3712 - in jifty/branches/autoversioning: .

jifty-commit at lists.jifty.org jifty-commit at lists.jifty.org
Sun Jul 22 21:16:05 EDT 2007


Author: jesse
Date: Sun Jul 22 21:16:05 2007
New Revision: 3712

Modified:
   jifty/branches/autoversioning/   (props changed)
   jifty/branches/autoversioning/lib/Jifty.pm

Log:
 r61124 at 134:  jesse | 2007-07-22 15:24:44 -0700
 * Refactored out setup_plugins into its own method


Modified: jifty/branches/autoversioning/lib/Jifty.pm
==============================================================================
--- jifty/branches/autoversioning/lib/Jifty.pm	(original)
+++ jifty/branches/autoversioning/lib/Jifty.pm	Sun Jul 22 21:16:05 2007
@@ -164,33 +164,8 @@
 
     Jifty->logger( Jifty::Logger->new( $args{'logger_component'} ) );
 
-    # Set up plugins
-    my @plugins;
-    my @plugins_to_load = @{Jifty->config->framework('Plugins')};
-    my $app_plugin = Jifty->app_class('Plugin');
-    for (my $i = 0; my $plugin = $plugins_to_load[$i]; $i++) {
-        my $plugin_name = (keys %{$plugin})[0];
-        my $class;
-        if ($plugin_name =~ /^(?:Jifty::Plugin|$app_plugin)::/) {
-            # app-specific plugins use fully qualified names, Jifty plugins may
-            $class = $plugin_name; 
-        }
-        # otherwise, assume it's a short name, qualify it
-        else {
-            $class = "Jifty::Plugin::".$plugin_name;
-        }
-        my %options = %{ $plugin->{ $plugin_name } };
-        Jifty::Util->require($class);
-        Jifty::ClassLoader->new(base => $class)->require;
-        my $plugin_obj = $class->new(%options);
-        push @plugins, $plugin_obj;
-        foreach my $name ($plugin_obj->prereq_plugins) {
-            next if grep { $_ eq $name } @plugins_to_load;
-            push @plugins_to_load, {$name => {}};
-        }
-    }
 
-    Jifty->plugins(@plugins);
+    Jifty->setup_plugins();
 
     # Now that we have the config set up and loaded plugins,
     # load the localization files.
@@ -371,6 +346,41 @@
     return $PUB_SUB;
 }
 
+=head2 setup_plugins
+
+Loads and initializes the application's plugins.
+
+=cut
+
+sub setup_plugins {
+    # Set up plugins
+    my @plugins;
+    my @plugins_to_load = @{Jifty->config->framework('Plugins')};
+    my $app_plugin = Jifty->app_class('Plugin');
+    for (my $i = 0; my $plugin = $plugins_to_load[$i]; $i++) {
+        my $plugin_name = (keys %{$plugin})[0];
+        my $class;
+        if ($plugin_name =~ /^(?:Jifty::Plugin|$app_plugin)::/) {
+            # app-specific plugins use fully qualified names, Jifty plugins may
+            $class = $plugin_name; 
+        }
+        # otherwise, assume it's a short name, qualify it
+        else {
+            $class = "Jifty::Plugin::".$plugin_name;
+        }
+        my %options = %{ $plugin->{ $plugin_name } };
+        Jifty::Util->require($class);
+        Jifty::ClassLoader->new(base => $class)->require;
+        my $plugin_obj = $class->new(%options);
+        push @plugins, $plugin_obj;
+        foreach my $name ($plugin_obj->prereq_plugins) {
+            next if grep { $_ eq $name } @plugins_to_load;
+            push @plugins_to_load, {$name => {}};
+        }
+    }
+
+    Jifty->plugins(@plugins);
+}
 =head2 plugins
 
 Returns a list of L<Jifty::Plugin> objects for this Jifty application.


More information about the Jifty-commit mailing list