diff --git a/generators/app/index.js b/generators/app/index.js index 33adc813..eea2a1ce 100644 --- a/generators/app/index.js +++ b/generators/app/index.js @@ -81,7 +81,7 @@ var AppGenerator = generators.Base.extend( type: 'input' , name: 'packageName' , message: 'What is the package name of this webapp?' - , default: this.packageName + , default: youtil.definedToString( this.packageName ) , validate: youtil.isNpmName } , { @@ -95,7 +95,7 @@ var AppGenerator = generators.Base.extend( type: 'input' , name: 'authorName' , message: 'What is your name?' - , default: this.user.git.name() + , default: youtil.definedToString( this.user.git.name() ) , validate: youtil.isNonBlank , filter: clean } @@ -103,7 +103,7 @@ var AppGenerator = generators.Base.extend( type: 'input' , name: 'authorEmail' , message: 'What is your email address?' - , default: this.user.git.email() + , default: youtil.definedToString( this.user.git.email() ) , validate: youtil.isNonBlank , filter: _.trim } diff --git a/generators/collection/index.js b/generators/collection/index.js index 36a355d9..81b46d89 100644 --- a/generators/collection/index.js +++ b/generators/collection/index.js @@ -59,7 +59,7 @@ var CollectionGenerator = generators.Base.extend( type: 'input' , name: 'collectionName' , message: 'What is the name of this collection you so desire?' - , default: this.collectionName + , default: youtil.definedToString( this.collectionName ) , validate: youtil.isIdentifier , filter: function ( value ) { diff --git a/generators/model/index.js b/generators/model/index.js index dd4facc0..629d90b8 100644 --- a/generators/model/index.js +++ b/generators/model/index.js @@ -85,7 +85,7 @@ var ModelGenerator = generators.Base.extend( type: 'input' , name: 'modelName' , message: 'What is the name of this model you so desire?' - , default: this.options.modelName + , default: youtil.definedToString( this.options.modelName ) , validate: youtil.isIdentifier , filter: function ( value ) { @@ -96,7 +96,7 @@ var ModelGenerator = generators.Base.extend( type: 'input' , name: 'description' , message: 'What is the purpose (description) of this model?' - , default: this.options.description + , default: youtil.definedToString( this.options.description ) , validate: youtil.isNonBlank , filter: youtil.sentencify } diff --git a/generators/view/index.js b/generators/view/index.js index 519c00f1..a2a71ec5 100644 --- a/generators/view/index.js +++ b/generators/view/index.js @@ -59,7 +59,7 @@ var ViewGenerator = generators.Base.extend( type: 'input' , name: 'viewName' , message: 'What is the name of this view you so desire?' - , default: this.viewName + , default: youtil.definedToString( this.viewName ) , validate: youtil.isIdentifier , filter: function ( value ) { diff --git a/lib/youtil.js b/lib/youtil.js index fcc66509..55323415 100644 --- a/lib/youtil.js +++ b/lib/youtil.js @@ -6,7 +6,12 @@ var capitalize = require( 'underscore.string/capitalize' ) module.exports = { - isIdentifier: function ( value ) + definedToString: function ( value ) + { + return (( value == null ) ? value : '' + value ); + } + + , isIdentifier: function ( value ) { return /^[$A-Za-z_\x7f-\uffff][$\w\x7f-\uffff]*$/.test(( '' + value ).trim() ); }