44
55var express = require ( '../../..' ) ;
66var fs = require ( 'fs' ) ;
7+ var path = require ( 'path' ) ;
78
89module . exports = function ( parent , options ) {
10+ var dir = path . join ( __dirname , '..' , 'controllers' ) ;
911 var verbose = options . verbose ;
10- fs . readdirSync ( __dirname + '/../controllers' ) . forEach ( function ( name ) {
11- if ( ! fs . statSync ( __dirname + '/../controllers/' + name ) . isDirectory ( ) ) return ;
12+ fs . readdirSync ( dir ) . forEach ( function ( name ) {
13+ var file = path . join ( dir , name )
14+ if ( ! fs . statSync ( file ) . isDirectory ( ) ) return ;
1215 verbose && console . log ( '\n %s:' , name ) ;
13- var obj = require ( './../controllers/' + name ) ;
16+ var obj = require ( file ) ;
1417 var name = obj . name || name ;
1518 var prefix = obj . prefix || '' ;
1619 var app = express ( ) ;
1720 var handler ;
1821 var method ;
19- var path ;
22+ var url ;
2023
2124 // allow specifying the view engine
2225 if ( obj . engine ) app . set ( 'view engine' , obj . engine ) ;
23- app . set ( 'views' , __dirname + '/../ controllers/' + name + '/ views') ;
26+ app . set ( 'views' , path . join ( __dirname , '..' , ' controllers' , name , ' views') ) ;
2427
2528 // generate routes based
2629 // on the exported methods
@@ -31,27 +34,27 @@ module.exports = function(parent, options){
3134 switch ( key ) {
3235 case 'show' :
3336 method = 'get' ;
34- path = '/' + name + '/:' + name + '_id' ;
37+ url = '/' + name + '/:' + name + '_id' ;
3538 break ;
3639 case 'list' :
3740 method = 'get' ;
38- path = '/' + name + 's' ;
41+ url = '/' + name + 's' ;
3942 break ;
4043 case 'edit' :
4144 method = 'get' ;
42- path = '/' + name + '/:' + name + '_id/edit' ;
45+ url = '/' + name + '/:' + name + '_id/edit' ;
4346 break ;
4447 case 'update' :
4548 method = 'put' ;
46- path = '/' + name + '/:' + name + '_id' ;
49+ url = '/' + name + '/:' + name + '_id' ;
4750 break ;
4851 case 'create' :
4952 method = 'post' ;
50- path = '/' + name ;
53+ url = '/' + name ;
5154 break ;
5255 case 'index' :
5356 method = 'get' ;
54- path = '/' ;
57+ url = '/' ;
5558 break ;
5659 default :
5760 /* istanbul ignore next */
@@ -60,15 +63,15 @@ module.exports = function(parent, options){
6063
6164 // setup
6265 handler = obj [ key ] ;
63- path = prefix + path ;
66+ url = prefix + url ;
6467
6568 // before middleware support
6669 if ( obj . before ) {
67- app [ method ] ( path , obj . before , handler ) ;
68- verbose && console . log ( ' %s %s -> before -> %s' , method . toUpperCase ( ) , path , key ) ;
70+ app [ method ] ( url , obj . before , handler ) ;
71+ verbose && console . log ( ' %s %s -> before -> %s' , method . toUpperCase ( ) , url , key ) ;
6972 } else {
70- app [ method ] ( path , handler ) ;
71- verbose && console . log ( ' %s %s -> %s' , method . toUpperCase ( ) , path , key ) ;
73+ app [ method ] ( url , handler ) ;
74+ verbose && console . log ( ' %s %s -> %s' , method . toUpperCase ( ) , url , key ) ;
7275 }
7376 }
7477
0 commit comments