lazybones
v0.3.1
Published
An object-oriented abstraction of PouchDB using Backbone models and collections.
Downloads
6
Maintainers
Readme
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 lazybones
Basic 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-docs
How 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-js
Running the Unit Tests
Lazybones has several unit tests written for Node.js and the browser. Before running tests, install all test dependencies:
npm install
To get tests running on Node.js, run:
npm test
To 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