| /* | |
| Copyright (c) 2012, Yahoo! Inc. All rights reserved. | |
| Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms. | |
| */ | |
| var Factory = require('../util/factory'), | |
| factory = new Factory('command', __dirname, true); | |
| function Command() {} | |
| // add register, create, mix, loadAll, getCommandList, resolveCommandName to the Command object | |
| factory.bindClassMethods(Command); | |
| Command.prototype = { | |
| toolName: function () { | |
| return require('../util/meta').NAME; | |
| }, | |
| type: function () { | |
| return this.constructor.TYPE; | |
| }, | |
| synopsis: /* istanbul ignore next: base method */ function () { | |
| return "the developer has not written a one-line summary of the " + this.type() + " command"; | |
| }, | |
| usage: /* istanbul ignore next: base method */ function () { | |
| console.error("the developer has not provided a usage for the " + this.type() + " command"); | |
| }, | |
| run: /* istanbul ignore next: abstract method */ function (args, callback) { | |
| return callback(new Error("run: must be overridden for the " + this.type() + " command")); | |
| } | |
| }; | |
| module.exports = Command; | |