lazybones v0.3.1
Lazybones
A custom Backbone sync method for PouchDB, with support for views and changes. This is very similar to backbone-pouch but is slightly more dynamic and up-to-date for the latest PouchDB API.
Install
Download the latest version from our release page and use via a script tag. The variable Lazybones will be attached to window.
<script type="text/javascript" src="lazybones.js"></script>If using Browserify or Node.js, you can install via NPM and use via require("lazybones").
$ npm install lazybonesBasic Usage
Method 1: PouchDB Plugin
If you want to generate a sync function with the Pouch database already attached, use the built in plugin interface. db.lazybones() will produce a sync function that uses db to fetch data.
PouchDB.plugin(Lazybones({
// global options
}));
// later
var db = new PouchDB("mydb");
Backbone.Model.extend({
sync: db.lazybones()
});Method 2: Generic sync
The simplest method is to use the raw sync method directly. You will need to reference the Pouch database through the model.
var db = new PouchDB("mydb");
Backbone.Model.extend({
sync: Lazybones.sync,
pouchdb: db,
syncOptions: {
// options specific to this model
}
});Documentation
We have pretty HTML docs with inline source code hosted on Github Pages. This documentation is generated from block-level comments in the code using Doxxo, so you can also build them locally.
npm run build-docsHow to Build from Scratch
Lazybones uses Grunt to build a Browserify bundle from the original source found in lib/. When the command below completes, the compiled source will be saved to dist/ directory.
npm install && npm run build-jsRunning the Unit Tests
Lazybones has several unit tests written for Node.js and the browser. Before running tests, install all test dependencies:
npm installTo get tests running on Node.js, run:
npm testTo run tests in the browser, start a test server with this command. When the server is running, navigate your browser to http://localhost:8000.
npm run dev