5
5
* Module dependencies
6
6
*/
7
7
8
- var Sails = require ( '../lib/app' )
8
+ var package = require ( '../package.json' )
9
+ , reportback = require ( 'reportback' ) ( )
9
10
, path = require ( 'path' )
10
11
, captains = require ( 'captains-log' )
11
12
, sailsgen = require ( 'sails-generate' ) ;
@@ -19,7 +20,7 @@ var Sails = require('../lib/app')
19
20
* Generate module(s) for the app in our working directory.
20
21
* Internally, uses ejs for rendering the various module templates.
21
22
*
22
- * @param {Object } options
23
+ * @param {Object } scope
23
24
* {String} appPath - path to sails app
24
25
* {String} module - e.g. 'controller' or 'model'
25
26
* {String} path - path to output directory
@@ -33,38 +34,79 @@ var Sails = require('../lib/app')
33
34
* {Function} * - different callbacks than may be triggered
34
35
*/
35
36
36
- module . exports = function ( ) {
37
+ module . exports = function ( ) {
38
+
37
39
40
+ // TODO: get config
38
41
var config = { } ;
39
42
var log = captains ( config . log ) ;
40
43
41
44
42
- var entity = options . module ;
45
+ // Build initial scope
46
+ var scope = {
47
+
48
+ // TODO: get semantic info from CLI args
49
+ args : cliArguments ,
50
+ rootPath : process . cwd ( ) ,
51
+ sailsPackageJSON : package
52
+ } ;
53
+
54
+ var cliArguments = Array . prototype . slice . call ( arguments ) ;
55
+ cliArguments . pop ( ) ;
43
56
44
- if ( ! entity ) { throw new Error ( ) ; }
57
+ var generatorType = cliArguments . shift ( ) ;
58
+ scope . args = cliArguments ;
45
59
46
- // TODO: Look up generator entity in config and grab the module name
47
- // for now:
48
- var module = 'sails-generate-' + entity ;
60
+ var module = 'sails-generate-' + generatorType ;
49
61
50
62
var Generator ;
51
63
try {
52
64
Generator = require ( module ) ;
53
65
}
54
- catch ( e ) { throw e ; }
55
-
56
- sailsgen ( Generator , options , {
57
- error : function ( err ) { log . error ( err ) ; } ,
58
- success : function ( output ) { log . info ( 'ok!' ) ; } ,
59
- notSailsApp : function ( ) { log . error ( 'Not a sails app.' ) ; } ,
60
- alreadyExists : function ( ) {
61
-
62
- // Log custom message if override is defined
63
- if ( options . logStatusOverrides && options . logStatusOverrides . alreadyExists ) {
64
- return options . logStatusOverrides . alreadyExists ( options , log ) ;
65
- }
66
-
67
- CLIController . error ( options . globalID + ' already exists!' ) ;
68
- }
69
- } ) ;
66
+ catch ( e ) {
67
+ // cb.couldNotLoadGenerator
68
+ throw e ;
69
+ }
70
+
71
+ return sailsgen ( Generator , scope , reportback . extend ( ) ) ;
70
72
} ;
73
+
74
+
75
+
76
+
77
+ // function (module) {
78
+ // var cmd = module;
79
+ // if (arguments.length === 1) {
80
+ // module = null;
81
+ // }
82
+
83
+ // console.log('sails generate '+module);
84
+ // // program
85
+ // // .command('model <resource>')
86
+ // // .description('')
87
+ // // .action(console.log);
88
+ // // program
89
+ // // .command('controller <resource>')
90
+ // // .description('');
91
+ // // program
92
+ // // .command('api <resource>')
93
+ // // .description('');
94
+ // // generate
95
+ // // .command('response <method>')
96
+ // // .description('');
97
+ // // generate
98
+ // // .command('policy <name>')
99
+ // // .description('');
100
+ // // generate
101
+ // // .command('service <name>')
102
+ // // .description('');
103
+ // // generate
104
+ // // .command('adapter <name>')
105
+ // // .description('');
106
+ // // generate
107
+ // // .command('generator <name>')
108
+ // // .description('');
109
+ // // generate
110
+ // // .command('hook <name>')
111
+ // // .description('');
112
+ // });
0 commit comments