UNPKG

roost

Version:

System provisioning toolkit.

27 lines (19 loc) 625 B
exports.Ssh = require('./target_ssh').Target exports.Local = require('./target_local').Target # -- split_spec = (spec) -> tokens = spec.split(':') scheme = tokens[0] definition = tokens[1] return { original: spec scheme: scheme definition: definition } # --- exports.create = (spec, manifest) -> spec = split_spec spec if typeof(spec) == 'string' or spec instanceof String scheme = spec.scheme.toLowerCase(); name = scheme[0].toUpperCase() + scheme.substring(1, scheme.length); return new exports[name] spec.original, manifest if exports[name]? throw new Error "unrecognized target spec #{scheme}"