Skip to content

Latest commit

 

History

History
237 lines (172 loc) · 4.56 KB

Cluc.md

File metadata and controls

237 lines (172 loc) · 4.56 KB

Cluc API


### new Cluc()

Cluc constructor.

Arguments

Examples

    var Cluc = require('cluc');
    
    var clucLine = new Cluc();

### Cluc.stream(cmd, fn)

Execute a command, return streams.

Arguments

  • cmd - String representing a command line to execute.
  • fn - A function called once command line started.
    • err an Error.
    • stdout a Stream.
    • stderr a Stream.

Returns

  • Cluc - A Cluc object.

Examples

    var Cluc = require('cluc');
    
    new Cluc()
    .stream('ls -alh', function(err, stdout, stderr){
        if(err) log.error(err);
        stderr.on('data',function(d){
          log.error(''+d)
        });
        stdout.on('data',function(d){
          log.verbose(''+d)
        });
        stdout.on('close',function(){
          log.info('done')
        });
    })
    .run(new Cluc.transports.process(), function(err){
      if(err) return done(err);
    });

### Cluc.exec(cmd, fn)

Execute a command, return string.

Arguments

  • cmd - String representing a command line to execute.
  • fn - A function called once command line ended.
    • err an Error.
    • stdout a String.
    • stderr a String.

Returns

  • Cluc - A Cluc object.

Examples

    var Cluc = require('cluc');
    
    new Cluc()
    .exec('ls -alh', function(err, stdout, stderr){
        if(err) log.error(err);
        if(stderr) log.error(stderr)
        log.verbose(stdout)
        log.info('done')
    })
    .run(new Cluc.transports.process(), function(err){
      if(err) return done(err);
    });

### Cluc.concat(otherClucLine)

Append another ClucLine.

Arguments

  • otherClucLine - Another cluc line to append.

Returns

  • Cluc - A Cluc object.

Examples

    var Cluc = require('cluc');
    
    new Cluc()
    .exec('ls -alh', function(err, stdout, stderr){
        if(err) log.error(err);
        if(stderr) log.error(stderr)
        log.verbose(stdout)
        log.info('done');
        clucLine.wait(function(keepGoing){
            console.log('waiting 2 sec');
            setTimeout(function(){
                keepGoing();
            },2000);
        });
    })
    .run(new Cluc.transports.process(), function(err){
      if(err) return done(err);
    });

### Cluc.wait(continueFn)

Pause the execution and wait until continueFn is called.

Arguments

  • continueFn - A function to call when execution can continue.

Returns

  • Cluc - A Cluc object.

Examples

    var Cluc = require('cluc');
    
    new Cluc()
    .exec('ls -alh', function(err, stdout, stderr){
        if(err) log.error(err);
        if(stderr) log.error(stderr)
        log.verbose(stdout)
        log.info('done');
        clucLine.wait(function(keepGoing){
            console.log('waiting 2 sec');
            setTimeout(function(){
                keepGoing();
            },2000);
        });
    })
    .run(new Cluc.transports.process(), function(err){
      if(err) return done(err);
    });

### Cluc.run(transport, then)

Run a cluc line.

Arguments

  • transport - a Cluc transport object to execute the commands.
  • then - a Callback called on completion.
    • err an Error.

Returns

  • ran - A Boolean, true if started the run.

Examples

    var Cluc = require('cluc');
    
    new Cluc()
    .stream('ls -alh', function(err, stdout, stderr){
        if(err) log.error(err);
        stderr.on('data',function(d){
          log.error(''+d)
        });
        stdout.on('data',function(d){
          log.verbose(''+d)
        });
        stdout.on('close',function(){
          log.info('done')
        });
    })
    .exec('ls -alh', function(err, stdout, stderr){
      if(err) log.error(err);
      if(stderr) log.error(stderr)
      log.verbose(stdout)
      log.info('done')
    })
    .run(new Cluc.transports.process(), function(err){
      if(err) return done(err);
    });