[Jifty-commit] r507 - jifty/trunk/lib/Jifty

jifty-commit at lists.jifty.org jifty-commit at lists.jifty.org
Sat Jan 14 14:39:40 EST 2006


Author: jesse
Date: Sat Jan 14 14:39:40 2006
New Revision: 507

Modified:
   /   (props changed)
   jifty/trunk/lib/Jifty/ClassLoader.pm
   jifty/trunk/lib/Jifty/Notification.pm
   jifty/trunk/lib/Jifty/Script/Action.pm
   jifty/trunk/lib/Jifty/Script/Model.pm

Log:
 r22407 at truegrounds:  jesse | 2006-01-14 14:37:40 -0500
 Better support for apps named Foo::Bar or Foo-Bar instead of FooBar


Modified: jifty/trunk/lib/Jifty/ClassLoader.pm
==============================================================================
--- jifty/trunk/lib/Jifty/ClassLoader.pm	(original)
+++ jifty/trunk/lib/Jifty/ClassLoader.pm	Sat Jan 14 14:39:40 2006
@@ -92,10 +92,15 @@
     return undef unless ( $module and $ApplicationClassPrefix );
 
 
-    if ( $module =~ m!^($ApplicationClassPrefix)(\.pm)?$! ) {
+    # Canonicalize $module to :: style rather than / and .pm style;
+    
+    $module =~ s/.pm$//;
+    $module =~ s{/}{::}g;
+
+    if ( $module =~ m!^($ApplicationClassPrefix)$! ) {
         return $self->return_class( "use warnings; use strict; package " . $ApplicationClassPrefix . ";\n"." 1;" );
     } 
-    elsif ( $module =~ m!^(?:$ApplicationClassPrefix)(?:/|::)(Record|Collection|Notification|Dispatcher)(\.pm)?$! ) {
+    elsif ( $module =~ m!^(?:$ApplicationClassPrefix)::(Record|Collection|Notification|Dispatcher)$! ) {
         return $self->return_class( "use warnings; use strict; package " . $ApplicationClassPrefix . "::". $1.";\n".
             "use base qw/Jifty::$1/; sub _autogenerated { 1 };\n"."1;" );
     } 
@@ -104,7 +109,7 @@
       return $self->return_class( "package " . $CurrentUserClass . ";\n" . "use base 'Jifty::CurrentUser';\n" . " 1;" );
       }
     elsif ( $module
-        =~ m!^($ApplicationClassPrefix)(?:/|::)Model(?:/|::)([^:]+)Collection(\.pm)?$!
+        =~ m!^($ApplicationClassPrefix)::Model::([^:]+)Collection$!
         )
     {
 
@@ -116,7 +121,7 @@
         );
 
     } elsif ( $module
-        =~ m!^($ApplicationClassPrefix)(?:/|::)Action(?:/|::)(Create|Update|Delete)([^\.:]+)(\.pm)?$!
+        =~ m!^($ApplicationClassPrefix)::Action::(Create|Update|Delete)([^\.:]+)$!
         )
     {
          

Modified: jifty/trunk/lib/Jifty/Notification.pm
==============================================================================
--- jifty/trunk/lib/Jifty/Notification.pm	(original)
+++ jifty/trunk/lib/Jifty/Notification.pm	Sat Jan 14 14:39:40 2006
@@ -41,6 +41,11 @@
 
     my %args = @_;
 
+    # initialize message bits to avoid 'undef' warnings
+    for (qw(body preface footer subject)) {
+            $self->$_('');
+    }
+
     while (my ($arg, $value) = each %args) {
 	if ($self->can($arg)) {
 	    $self->$arg($value);
@@ -73,13 +78,13 @@
 
 sub send_one_message {
     my $self = shift;
-    return unless $self->recipients;
+    return unless my @recipients = $self->recipients;
 
     my $message = Email::Simple->create(
         header => [
-            From => $self->from,
-            To   => (join ', ', $self->recipients),
-            Subject => $self->subject,
+            From => $self->from || 'A Jifty Application <nobody>',
+            To   => join (', ', @recipients),
+            Subject => $self->subject || 'No subject',
         ],
         body => join ("\n", $self->preface, $self->body, $self->footer)
     );
@@ -123,7 +128,7 @@
 sub recipients {
     my $self = shift;
     $self->_recipients([@_]) if @_;
-    return @{ $self->_recipients || [] };
+    return @{ $self->_recipients };
 } 
 
 

Modified: jifty/trunk/lib/Jifty/Script/Action.pm
==============================================================================
--- jifty/trunk/lib/Jifty/Script/Action.pm	(original)
+++ jifty/trunk/lib/Jifty/Script/Action.pm	Sat Jan 14 14:39:40 2006
@@ -62,7 +62,7 @@
     Jifty->new( no_handle => 1 );
     my $root = Jifty::Util->app_root;
     my $appclass = Jifty->config->framework("ApplicationClass");
-    my $path = "$root/lib/$appclass/Action/$action.pm";
+    my $appclass_path =  File::Spec->catfile(split(/::/,Jifty->config->framework("ApplicationClass")));
 
     my $actionFile = <<"EOT";
 use strict;
@@ -115,7 +115,7 @@
 
 
     my $testFile = <<"EOT";
-#!/usr/bin/perl -w
+#!/usr/bin/perl
 use warnings;
 use strict;
 
@@ -132,7 +132,7 @@
 
 EOT
 
-    $self->_write("$root/lib/$appclass/Action/$action.pm" => $actionFile,
+    $self->_write("$root/lib/$appclass_path/Action/$action.pm" => $actionFile,
                   "$root/t/00-action-$action.t" => $testFile,
                  );
 }

Modified: jifty/trunk/lib/Jifty/Script/Model.pm
==============================================================================
--- jifty/trunk/lib/Jifty/Script/Model.pm	(original)
+++ jifty/trunk/lib/Jifty/Script/Model.pm	Sat Jan 14 14:39:40 2006
@@ -61,7 +61,7 @@
     Jifty->new( no_handle => 1 );
     my $root = Jifty::Util->app_root;
     my $appclass = Jifty->config->framework("ApplicationClass");
-    my $path = "$root/lib/$appclass/Model/$model.pm";
+    my $appclass_path = File::Spec->catfile(split (/::/, $appclass));
 
     my $modelFile = <<"EOT";
 package @{[$appclass]}::Model::@{[$model]}::Schema;
@@ -81,7 +81,7 @@
 
 
     my $testFile = <<"EOT";
-#!/usr/bin/perl -w
+#!/usr/bin/perl
 use warnings;
 use strict;
 
@@ -132,7 +132,7 @@
 
 EOT
 
-    $self->_write("$root/lib/$appclass/Model/$model.pm" => $modelFile,
+    $self->_write("$root/lib/$appclass_path/Model/$model.pm" => $modelFile,
                   "$root/t/00-model-$model.t" => $testFile,
                  );
 }


More information about the Jifty-commit mailing list