Plato on Github
Report Home
lib/cli.js
Maintainability
54.77
Lines of code
76
Difficulty
20.27
Estimated Errors
1.16
Function weight
By Complexity
By SLOC
var cli = require('bagofcli'); var commander = require('commander'); var Jenkins = require('./jenkins'); var jenkins = require('./cli/jenkins'); var job = require('./cli/job'); var text = require('bagoftext'); var _url = require('url'); var view = require('./cli/view'); function __exec(args, cb) { // use url flag or JENKINS_URL environment variable if provided var url = (args && args.parent) ? (args.parent.url || process.env.JENKINS_URL) : undefined; // if URL value and interactive flag are specified, then prompt for authentication details if (url && args.parent && args.parent.interactive) { commander.prompt(text.__('Username: '), function (user) { commander.password(text.__('Password: '), function (pass) { var parsedUrl = _url.parse(url); parsedUrl.auth = user + ':' + pass; url = _url.format(parsedUrl); cb(new Jenkins(url)); }); }); // otherwise fallback to default URL } else { cb(new Jenkins(url)); } } /** * Execute Nestor CLI. */ function exec() { var actions = { commands: { 'dashboard' : { action: jenkins.dashboard(__exec) }, 'discover' : { action: jenkins.discover(__exec) }, 'executor' : { action: jenkins.executor(__exec) }, 'feed' : { action: jenkins.feed(__exec) }, 'queue' : { action: jenkins.queue(__exec) }, 'ver' : { action: jenkins.version(__exec) }, 'create' : { action: job.create(__exec) }, 'create-job' : { action: job.create(__exec) }, 'job' : { action: job.read(__exec) }, 'read-job' : { action: job.read(__exec) }, 'last' : { action: job.readLatest(__exec) }, 'update' : { action: job.update(__exec) }, 'update-job' : { action: job.update(__exec) }, 'delete' : { action: job.delete(__exec) }, 'delete-job' : { action: job.delete(__exec) }, 'build' : { action: job.build(__exec) }, 'build-job' : { action: job.build(__exec) }, 'stop' : { action: job.stop(__exec) }, 'stop-job' : { action: job.stop(__exec) }, 'console' : { action: job.console(__exec) }, 'enable' : { action: job.enable(__exec) }, 'enable-job' : { action: job.enable(__exec) }, 'disable' : { action: job.disable(__exec) }, 'disable-job' : { action: job.disable(__exec) }, 'copy' : { action: job.copy(__exec) }, 'copy-job' : { action: job.copy(__exec) }, 'config' : { action: job.fetchConfig(__exec) }, 'fetch-job-config' : { action: job.fetchConfig(__exec) }, 'create-view' : { action: view.create(__exec) }, 'update-view' : { action: view.update(__exec) }, 'fetch-view-config': { action: view.fetchConfig(__exec) } } }; cli.command(__dirname, actions); } exports.exec = exec; exports.__exec = __exec;