backbone-db
Advanced tools
Comparing version 0.4.6 to 0.4.7
@@ -96,2 +96,7 @@ var Backbone = require('backbone'); | ||
var getKey = function(model) { | ||
if (!model.url) return getKey(model); | ||
return _.isFunction(model.url) ? model.url() : model.url; | ||
}; | ||
var Db = Backbone.Db = function Db(name) { | ||
@@ -120,4 +125,4 @@ var self = this; | ||
function store(model) { | ||
self.store().setItem(model.get(model.idAttribute), JSON.stringify(model), function (err, res) { | ||
self.records.push(model.get(model.idAttribute)); | ||
self.store().setItem(getKey(model), JSON.stringify(model), function (err, res) { | ||
self.records.push(getKey(model)); | ||
self.save(function (err) { | ||
@@ -141,3 +146,3 @@ return cb(err, model.toJSON(), res); | ||
debug('FIND: ' + JSON.stringify(model)); | ||
this.store().getItem(model.get(model.idAttribute), function (err, data) { | ||
this.store().getItem(getKey(model), function (err, data) { | ||
data = data && JSON.parse(data); | ||
@@ -178,6 +183,6 @@ var error = err || data ? null : new Error('not found'); | ||
} | ||
this.store().removeItem(model.get(model.idAttribute), function () { | ||
this.store().removeItem(getKey(model), function () { | ||
var found = false; | ||
self.records = _.reject(self.records, function (id) { | ||
var itemFound = id === model.get(model.idAttribute); | ||
var itemFound = id === getKey(model); | ||
if(!found) found = itemFound; | ||
@@ -203,6 +208,6 @@ return itemFound; | ||
} | ||
this.store().setItem(model.get(model.idAttribute), JSON.stringify(model), function (err, res) { | ||
this.store().setItem(getKey(model), JSON.stringify(model), function (err, res) { | ||
// if models created with id. | ||
if (self.records.indexOf(model.get(model.idAttribute)) === -1) { | ||
self.records.push(model.get(model.idAttribute)); | ||
if (self.records.indexOf(getKey(model)) === -1) { | ||
self.records.push(getKey(model)); | ||
} | ||
@@ -225,3 +230,3 @@ cb(err, model.toJSON(), res); | ||
var amount = options.inc.amount; | ||
var key = model.get(model.idAttribute); | ||
var key = getKey(model); | ||
this.store().getItem(key, function (err, data) { | ||
@@ -228,0 +233,0 @@ if (err || !data) { |
{ | ||
"name": "backbone-db", | ||
"version": "0.4.6", | ||
"version": "0.4.7", | ||
"description": "Key-Value database storage interface, localStorage and in-process implementations", | ||
@@ -5,0 +5,0 @@ "main": "index.js", |
@@ -16,4 +16,4 @@ var assert = require('assert'); | ||
}, | ||
error: function (err) { | ||
t(err); | ||
error: function (collection, err) { | ||
t(); | ||
} | ||
@@ -70,14 +70,14 @@ }); | ||
}, | ||
error: function (err) { | ||
assert(err); | ||
error: function (model, err) { | ||
t(err); | ||
} | ||
}); | ||
}, | ||
error: function (err) { | ||
assert(err); | ||
error: function (model, err) { | ||
t(err); | ||
} | ||
}); | ||
}, | ||
error: function (err) { | ||
assert(err); | ||
error: function (model, err) { | ||
t(err); | ||
} | ||
@@ -95,4 +95,4 @@ }); | ||
}, | ||
error: function (err) { | ||
assert(err); | ||
error: function (coll, err) { | ||
t(err); | ||
} | ||
@@ -113,4 +113,4 @@ }); | ||
}, | ||
error: function (err) { | ||
assert(err); | ||
error: function (coll, err) { | ||
t(err); | ||
} | ||
@@ -130,4 +130,4 @@ }); | ||
}, | ||
error: function (err) { | ||
assert(err); | ||
error: function (coll, err) { | ||
t(err); | ||
} | ||
@@ -149,4 +149,4 @@ }); | ||
}, | ||
error: function (err) { | ||
assert(err); | ||
error: function (coll, err) { | ||
t(err); | ||
} | ||
@@ -164,4 +164,4 @@ }); | ||
}, | ||
error: function (err) { | ||
assert(err); | ||
error: function (coll, err) { | ||
t(err); | ||
} | ||
@@ -182,4 +182,4 @@ }); | ||
}, | ||
error: function (err) { | ||
assert(err); | ||
error: function (coll, err) { | ||
t(err); | ||
} | ||
@@ -202,4 +202,4 @@ }); | ||
}, | ||
error: function (err) { | ||
assert(err); | ||
error: function (coll, err) { | ||
t(err); | ||
} | ||
@@ -222,4 +222,4 @@ }); | ||
}, | ||
error: function (err) { | ||
assert(err); | ||
error: function (coll, err) { | ||
t(err); | ||
} | ||
@@ -242,4 +242,4 @@ }); | ||
}, | ||
error: function (err) { | ||
assert(err); | ||
error: function (coll, err) { | ||
t(err); | ||
} | ||
@@ -263,9 +263,9 @@ }); | ||
}, | ||
error: function (err) { | ||
assert(err); | ||
error: function (model, err) { | ||
t(err); | ||
} | ||
}); | ||
}, | ||
error: function (err) { | ||
assert(err); | ||
error: function (model, err) { | ||
t(err); | ||
}, | ||
@@ -275,4 +275,4 @@ wait: true | ||
}, | ||
error: function (err) { | ||
assert(err); | ||
error: function (coll, err) { | ||
t(err); | ||
} | ||
@@ -279,0 +279,0 @@ }); |
var Db = require('../'); | ||
var Backbone = require('backbone'); | ||
var _ = require('lodash'); | ||
describe('backbone-db', function () { | ||
@@ -5,0 +6,0 @@ before(function () { |
@@ -9,3 +9,3 @@ var assert = require('assert'); | ||
it('should .find from store', function (t) { | ||
it('should not .find empty model from store', function (t) { | ||
var m = new this.Model({}); | ||
@@ -16,4 +16,3 @@ m.fetch({ | ||
}, | ||
error: function (err) { | ||
// so we get error | ||
error: function (model, err) { | ||
t(err); | ||
@@ -41,3 +40,3 @@ } | ||
}, | ||
error: function (err) { | ||
error: function (model, err) { | ||
console.error(err); | ||
@@ -81,5 +80,4 @@ assert.ok(false); | ||
}, | ||
error: function (err) { | ||
console.error(err); | ||
assert.ok(false); | ||
error: function (model, err) { | ||
t(err); | ||
} | ||
@@ -103,4 +101,3 @@ }); | ||
error: function (model, err) { | ||
console.error('ERR', err); | ||
assert.ok(false); | ||
t(err); | ||
} | ||
@@ -126,5 +123,4 @@ }; | ||
}, | ||
error: function (err) { | ||
console.error(err); | ||
assert.ok(false); | ||
error: function (model, err) { | ||
t(err); | ||
} | ||
@@ -131,0 +127,0 @@ }); |
27585