1.0.1 • Published 9 years ago
oc-hobknob v1.0.1
oc-hobknob 
OpenComponents plugin for interacting with Hobknob toggles inside OC components.
Requirements:
- Node version: min: 0.10.40, recommended: >=4.2.X
- OC registry
- Hobknob server
Install
npm i oc-hobknob --saveRegistry setup
More info about integrating OC plugins: here
...
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);Using it inside components
Example for a components' server.js:
module.exports.data = function(context, callback){
  callback(null, {
    showSomething: context.plugins.getToggle('myApp', 'toggleName', false)
  });
};API
####Api for plugin setup:
| parameter | type | mandatory | description | 
|---|---|---|---|
| errorHandler | function | no | The error handler | 
| host | string | yes | The hobknob etcd host | 
| port | number | no | Default 4001, the etcd port | 
| syncInterval | number(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.
Contributing
Yes please. Open an issue first.
License
MIT