npm install oc-hobknoboc-hobknob 
==========
OpenComponents plugin for interacting with Hobknob toggles inside OC components.
* Node version: min: 0.10.40, recommended: >=4.2.X
* OC registry
* Hobknob server
``js`
npm i oc-hobknob --save
More info about integrating OC plugins: here
`js
...
var registry = new oc.registry(configuration);
registry.register({
name: 'getToggle',
register: require('oc-hobknob'),
options: {
host: 'hobknob-etcd.hosts.com',
errorHandler: function(err){
console.log(err);
}
}
}, function(err){
if(err){
console.log('plugin initialisation failed:', err);
} else {
console.log('hobknob now available');
}
});
...
registry.start(callback);
`
Example for a components' server.js:
`js
module.exports.data = function(context, callback){
callback(null, {
showSomething: context.plugins.getToggle('myApp', 'toggleName', false)
});
};
`
####Api for plugin setup:
|parameter|type|mandatory|description|
|---------|----|---------|-----------|
|errorHandler|function|no|The error handler|string
|host||yes|The hobknob etcd host|number
|port||no|Default 4001, the etcd port|number
|syncInterval| (ms)|no|Default 30000, time for the internal cache to refresh|
#### Api for plugin usage:
The plugin name is declared when initialising a plugin. Following assumes getToggle is the designated name.
##### context.plugins.getToggle(serviceName, toggleName)
Syncronous function that gets a value for a given Service name and toggle. Default for when hobknob doesn't have the value is false.
##### context.plugins.getToggle(serviceName, toggleName, defaultValue)
Syncronous function that gets a value for a given Service name and toggle. Default for when hobknob doesn't have the value is false`.
##### context.plugins.getToggle(serviceName, toggleName, secondaryToggleKey, defaultValue)
Syncronous function that gets an Hobknob toggle value for a given serviceName and toggleName and secondaryToggleKey using specified default value.
Yes please. Open an issue first.
MIT