Redis object relational mapper for NodeJs with a minimum of magic
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
conf
doc
lib
samples
src
test
.gitignore
.travis.yml
LICENSE
Makefile
README.md
package.json

README.md

nodeBuild Status

Redis ORM for NodeJs

Installation

npm install ron

Usage

ron = require('ron');
// Client connection
client = ron({
  port: 6379,
  host: '127.0.0.1',
  name: 'auth'
});
// Schema definition
Users = client.get('users');
Users.property('id', {identifier: true});
Users.property('username', {unique: true});
Users.property('email', {index: true, type: 'email'});
Users.property('name', {});
// Record manipulation
Users.create(
  {username: 'ron', email: 'ron@domain.com'},
  function(err, user){
    console.log(err, user.id);
  }
);

The library provide

  • Documented and tested API
  • Records access with indexes and unique values
  • Records are pure object, no state, no magic

Client API

Schema API

Records API

Run tests

Run the tests with mocha:

npm run redis_start
npm test
npm run redis_stop

Note, the command above use a Docker container. You can use you're own Redis server by only running npm test after modifying the configuration file located in "conf/test.coffee".

If Redis is installed, start a redis server on the default port: redis-server ./conf/redis.conf

If Docker is installed, start a container: docker run --name ron -p 6379:6379 -d redis redis-server --appendonly yes