backbone.js bindings for hoodie.js
JavaScript CoffeeScript
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
.gitignore
Gruntfile.coffee
README.md
backbone-hoodie.coffee
backbone-hoodie.js
bower.json
package.json

README.md

backbone-hoodie adapter

Ben Nevile, http://mainsocial.com

(begun by gr2m -- https://github.com/hoodiehq/hoodie.js/pull/56#issuecomment-17736543)

Use this adapter to keep maintain sync between your local Backbone.Collections and the local and remote hoodie datastores.

Backbone.connect() #creates a new hoodie at Backbone.hoodie


class Task extends Backbone.Model
  # models must have a type. maps to type in hoodie store.
  type: "task"

  defaults: 
    name: "New Task"


class TaskCollection extends Backbone.Collection  
  # if a collection has a model, the adapter will keep the collection
  # up to date with all the models in the local store, as well as remote events
  model: Task 


t = new Task {name:"laundry"}
t.save() 
# t will be saved into the hoodie store

tasks = new TaskCollection()
# upon initialization, tasks will fetch() all Task models from the datastore.
# it'll find t and insert t in tasks.

t2 = new Task {name:"groceries"}
t2.save()
# t2 will be saved into the hoodie store
# and will also be inserted into tasks

t.destroy()
# t will be deleted from the store
# and will be removed from tasks