[Jifty-commit] r3088 - in jifty/trunk/lib: . Jifty

jifty-commit at lists.jifty.org jifty-commit at lists.jifty.org
Tue Apr 3 05:50:54 EDT 2007


Author: audreyt
Date: Tue Apr  3 05:50:52 2007
New Revision: 3088

Modified:
   jifty/trunk/lib/Jifty.pm
   jifty/trunk/lib/Jifty/Plugin.pm
   jifty/trunk/lib/Jifty/Plugin/Authentication/Password.pm

Log:
* Jifty::Plugin - Authentication::Password now auto-loads LetMe and User.

Modified: jifty/trunk/lib/Jifty.pm
==============================================================================
--- jifty/trunk/lib/Jifty.pm	(original)
+++ jifty/trunk/lib/Jifty.pm	Tue Apr  3 05:50:52 2007
@@ -164,12 +164,18 @@
 
     # Set up plugins
     my @plugins;
-    for my $plugin (@{Jifty->config->framework('Plugins')}) {
+    my @plugins_to_load = @{Jifty->config->framework('Plugins')};
+    for (my $i = 0; my $plugin = $plugins_to_load[$i]; $i++) {
         my $class = "Jifty::Plugin::".(keys %{$plugin})[0];
         my %options = %{ $plugin->{(keys %{$plugin})[0]} };
         Jifty::Util->require($class);
         Jifty::ClassLoader->new(base => $class)->require;
-        push @plugins, $class->new(%options);
+        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);

Modified: jifty/trunk/lib/Jifty/Plugin.pm
==============================================================================
--- jifty/trunk/lib/Jifty/Plugin.pm	(original)
+++ jifty/trunk/lib/Jifty/Plugin.pm	Tue Apr  3 05:50:52 2007
@@ -174,4 +174,14 @@
     return $class."::Dispatcher";
 }
 
+=head2 prereq_plugins
+
+Returns an array of plugin module names that this plugin depends on.
+
+=cut
+
+sub prereq_plugins {
+    return ();
+}
+
 1;

Modified: jifty/trunk/lib/Jifty/Plugin/Authentication/Password.pm
==============================================================================
--- jifty/trunk/lib/Jifty/Plugin/Authentication/Password.pm	(original)
+++ jifty/trunk/lib/Jifty/Plugin/Authentication/Password.pm	Tue Apr  3 05:50:52 2007
@@ -21,4 +21,8 @@
 
 =cut
 
+sub prereq_plugins {
+    return ('User', 'LetMe');
+}
+
 1;


More information about the Jifty-commit mailing list