bem-site-snapshot-master v0.0.3
snapshot-master
Tools for suitable snapshot manipulation

Usage
As npm package
At first you should install npm package by:
$ npm install --save bem-site-snapshot-master2 different strategies can be used via this package:
- Simple
- YDisk (snapshot operations performs also on Yandex Disk)
Both strategies have the same API.
API
constructor
You should create instance of snapshot master API class before using its methods.
var API = require('bem-site-snapshot-master').Simple,
api = new API(options);
// here you can call instance methods of API class
api.getSnapshots(function (err) {
// TODO implement your handler
});options - is object with available fields:
path- full path to operation folder. (required).symlinks- array with available symlink names (required).logger- settings for logger module. See Logger for more details.
For YDisk API also yandex-disk options section needed:
'yandex-disk': {
user: 'john.smith',
password: '12345678',
namespace: 'test'
}getSnapshots
Returns list of snapshot folder names.
Arguments:
- {Function}
callbackfunction
getSnapshotNameForSymlink
Returns name of snapshot which given symlink is pointed to
Arguments:
- {String}
symlink- name of symlink - {Function}
callbackfunction
getSnapshotDataForSymlink
Retrieves data of snapshot which given symlink is pointed to and pipes it to destination stream
Arguments:
- {String}
symlink- name of symlink - {String}
destination- destination stream - {Function}
callbackfunction
getSnapshotChanges
Reads content of data.json file of given snapshot
Arguments:
- {String}
snapshot- name of given snapshot - {Function}
callbackfunction
switchSymlinkToSnapshot
Switch symlink to folder with given snapshot name
Arguments:
- {String}
symlink- name of symlink - {String}
snapshot- name of given snapshot - {Function}
callbackfunction
removeSnapshot
Removes snapshot by given snapshot name
Arguments:
- {String}
snapshot- name of given snapshot - {Function}
callbackfunction
Testing
Run tests:
npm run mochaRun tests with istanbul coverage calculation:
npm run istanbulRun codestyle verification (jshint and jscs)
npm run codestyleMaintainer @tormozz48 Please send your questions and proposals to: tormozz48@gmail.com
