ES6, Filtering, and In-Memory Data Store

Rivus is now fully written using ES6 / Babel to make everything work correctly. A bit of work was put in to get us ready for when Node.js fully supports all of the latest and greatest features, and there will be no need for Babel.

Filters!

Have you ever wanted to set some complex rules to either manipulate a feed item or completely remove it from the feed aggregate?

Now it is simple to do this by simply adding in as many filters as you need to.

const rivus = new Rivus({
dataStore: {
// ...
},
providers: [
// ...
]
});
rivus.filter.add(function(feedItem) {
//do something in here where you can modify the feed item if you want
//return if it should be included in the feed that is returned all rolled up
return true || false;
});

In Memory Data Store

Making it easier to do local development or any cases where Redis is not available. We automatically detect if Redis is available and if it is not we default to an in-memory data store.

Specify Redis via Config:

"dataStore": {
"type": "redis",
"settings": {
// here you can configure 'path', 'host', 'port' and 'password'
}
}

All you have to do now is leave the “dataStore” blank or set the type to “none”.

"dataStore": {
"type": "none"
}

If you would like to contribute or get more info on Rivus here are some helpful links:

  • Rivus Website: Overview of the module and how to use it.
  • Repository: Where all the magic happens and you can contribute.
  • NPM: How to install it to your project.