Generator code refactoring

This commit is contained in:
Sahat Yalkabov
2014-04-13 00:48:24 -04:00
parent 6eb9b631ce
commit f3ffd683bd

View File

@ -127,79 +127,64 @@ inquirer.prompt({
var profileTemplateFile = 'views/account/profile.jade'; var profileTemplateFile = 'views/account/profile.jade';
var loginTemplateFile = 'views/account/login.jade'; var loginTemplateFile = 'views/account/login.jade';
var passportConfig = fs.readFileSync(passportConfigFile).toString(); var passportConfig = fs.readFileSync(passportConfigFile).toString().split('\n');
var loginTemplate = fs.readFileSync(loginTemplateFile).toString(); var loginTemplate = fs.readFileSync(loginTemplateFile).toString().split('\n');
var profileTemplate = fs.readFileSync(profileTemplateFile).toString(); var profileTemplate = fs.readFileSync(profileTemplateFile).toString().split('\n');
var userModel = fs.readFileSync(userModelFile).toString(); var userModel = fs.readFileSync(userModelFile).toString().split('\n');
var index, var index;
output;
if (_.contains(answer.auth, 'facebook')) { if (_.contains(answer.auth, 'facebook')) {
if (passportConfig.indexOf(facebookStrategyRequire) < 0) { if (passportConfig.indexOf(facebookStrategyRequire) < 0) {
// config/passport.js (add)
passportConfig = passportConfig.split('\n'); // config/passport.js (+)
index = passportConfig.indexOf("var passport = require('passport');"); index = passportConfig.indexOf("var passport = require('passport');");
passportConfig.splice(index + 1, 0, facebookStrategyRequire); passportConfig.splice(index + 1, 0, facebookStrategyRequire);
index = passportConfig.indexOf('passport.deserializeUser(function(id, done) {'); index = passportConfig.indexOf('passport.deserializeUser(function(id, done) {');
passportConfig.splice(index + 6, 0, facebookStrategy); passportConfig.splice(index + 6, 0, facebookStrategy);
output = passportConfig.join('\n'); fs.writeFileSync(passportConfigFile, passportConfig.join('\n'));
fs.writeFileSync(passportConfigFile, output);
// views/account/login.jade (add) // views/account/login.jade (+)
loginTemplate = loginTemplate.split('\n');
loginTemplate.push(facebookButton); loginTemplate.push(facebookButton);
output = loginTemplate.join('\n'); fs.writeFileSync(loginTemplateFile, loginTemplate.join('\n'));
fs.writeFileSync(loginTemplateFile, output);
// views/account/profile.jade (add) // views/account/profile.jade (+)
profileTemplate = profileTemplate.split('\n');
index = profileTemplate.indexOf(' h3 Linked Accounts'); index = profileTemplate.indexOf(' h3 Linked Accounts');
profileTemplate.splice(index + 1, 0, facebookLinkUnlink); profileTemplate.splice(index + 1, 0, facebookLinkUnlink);
output = profileTemplate.join('\n'); fs.writeFileSync(profileTemplateFile, profileTemplate.join('\n'));
fs.writeFileSync(profileTemplateFile, output);
// models/User.js // models/User.js (+)
userModel = userModel.split('\n');
index = userModel.indexOf(' tokens: Array,'); index = userModel.indexOf(' tokens: Array,');
userModel.splice(index -1 , 0, facebookModel); userModel.splice(index -1 , 0, facebookModel);
output = userModel.join('\n'); fs.writeFileSync(userModelFile, userModel.join('\n'));
fs.writeFileSync(userModelFile, output);
console.log('Facebook authentication has been added.'.info); console.log('Facebook authentication has been added.'.info);
} else { } else {
console.log('Facebook authentication is already active.'.warn); console.log('Facebook authentication is already active.'.warn);
} }
} else { } else {
// config/passport.js (remove)
passportConfig = passportConfig.split('\n'); // config/passport.js (-)
index = passportConfig.indexOf(facebookStrategyRequire); index = passportConfig.indexOf(facebookStrategyRequire);
passportConfig.splice(index, 1); passportConfig.splice(index, 1);
index = passportConfig.indexOf('// Sign in with Facebook.'); index = passportConfig.indexOf('// Sign in with Facebook.');
passportConfig.splice(index, 47); passportConfig.splice(index, 47);
output = passportConfig.join('\n'); fs.writeFileSync(passportConfigFile, passportConfig.join('\n'));
fs.writeFileSync(passportConfigFile, output);
// views/account/login.jade (remove) // views/account/login.jade (-)
loginTemplate = loginTemplate.split('\n');
index = loginTemplate.indexOf(" a.btn.btn-block.btn-facebook.btn-social(href='/auth/facebook')"); index = loginTemplate.indexOf(" a.btn.btn-block.btn-facebook.btn-social(href='/auth/facebook')");
loginTemplate.splice(index, 4); loginTemplate.splice(index, 4);
output = loginTemplate.join('\n'); fs.writeFileSync(loginTemplateFile, loginTemplate.join('\n'));
fs.writeFileSync(loginTemplateFile, output);
// views/account/profile.jade (remove) // views/account/profile.jade (-)
profileTemplate = profileTemplate.split('\n');
index = profileTemplate.indexOf(" if user.facebook"); index = profileTemplate.indexOf(" if user.facebook");
profileTemplate.splice(index - 1, 5); profileTemplate.splice(index - 1, 5);
output = profileTemplate.join('\n'); fs.writeFileSync(profileTemplateFile, profileTemplate.join('\n'));
fs.writeFileSync(profileTemplateFile, output);
// models/User.js // models/User.js (-)
userModel = userModel.split('\n');
index = userModel.indexOf(' facebook: String,'); index = userModel.indexOf(' facebook: String,');
userModel.splice(index, 1); userModel.splice(index, 1);
output = userModel.join('\n'); fs.writeFileSync(userModelFile, userModel.join('\n'));
fs.writeFileSync(userModelFile, output);
console.log('Facebook authentication has been removed.'.error); console.log('Facebook authentication has been removed.'.error);
} }