Skip to content

Commit

Permalink
refactoring code using now async
Browse files Browse the repository at this point in the history
  • Loading branch information
jshkurti committed Oct 22, 2014
1 parent 1a8df2a commit 0c8dad1
Show file tree
Hide file tree
Showing 2 changed files with 53 additions and 27 deletions.
38 changes: 38 additions & 0 deletions lib/identify.js
@@ -0,0 +1,38 @@
var fs = require('fs');
var async = require('async');

var isGit = function(cb) {
fs.exists(folder+'.git', function(exists) {
if (exists)
return cb('git');
return cb(null);
});
}

var isHg = function(cb) {
fs.exists(folder+'.hg', function(exists) {
if (exists)
return cb('hg');
return cb(null);
});
}

var isSvn = function(cb) {
fs.exists(folder+'.svn', function(exists) {
if (exists)
return cb('svn');
return cb(null);
});
}

module.exports = function identify(folder, cb) {
if (folder[folder.length - 1] !== '/')
folder += '/';

async.series([isGit, isHg, isSvn],
function(err, results) {
if (err)
return cb(err);
return cb('No versioning system found');
});
}
42 changes: 15 additions & 27 deletions lib/vizion.js
@@ -1,34 +1,22 @@
var fs = require("fs");
var parseHg = require('./hg.js');
var parseGit = require('./git.js');
var parseSvn = require('./svn.js');
var identify = require('./identify.js');

module.exports.analyze = function analyze(argv, cb) {
module.exports.analyze = function(argv, cb) {
folder = (argv.folder != undefined) ? argv.folder : '.';

if (folder[folder.length - 1] !== '/') {
folder = folder + '/';
}

fs.exists(folder+'.git', function(exists) {
if (exists) {
return parseGit(folder, cb);
}
fs.exists(folder+'.hg', function(exists) {
if (exists) {
return parseHg(folder, cb);
}
fs.exists(folder+'.svn', function(exists) {
if (exists) {
return parseSvn(folder, cb);
}
else {
return cb({
msg : 'No versioning system found',
path : folder
});
}
});
});
});
identify(folder, function(type) {
if (type === 'git')
return parseGit(folder, cb);
else if (type === 'hg')
return parseHg(folder, cb);
else if (type === 'svn')
return parseSvn(folder, cb);
else
return cb({
msg : type,
path : folder
});
});
}

0 comments on commit 0c8dad1

Please sign in to comment.