[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