Skip to content

Instantly share code, notes, and snippets.

@canonic-epicure
Created August 30, 2010 14:11
Show Gist options
  • Save canonic-epicure/557456 to your computer and use it in GitHub Desktop.
Save canonic-epicure/557456 to your computer and use it in GitHub Desktop.
Class('Person', {
has : {
name : null,
spouse : null
}
})
var Marge = new Person({
name : 'Marge Simpson'
})
var Homer = new Person({
name : 'Homer Simpson'
})
Marge.spouse = Homer
Homer.spouse = Marge
var simpsonsFamily = [ Homer, Marge ]
// setup
var backend = new KiokuJS.Backend.CouchDB({
host : 'local',
port : 1234,
prefix : 'db',
dbName : 'sample'
})
var handle = KiokuJS.connect({
backend : backend
}))
// scope1
var scope = handle.newScope()
scope.storeAs({
homerID : Homer,
margeID : Marge,
familyID : simpsonsFamily
}).now()
// scope2 - somewhere else
var scope = handle.newScope()
scope.lookUp('homerID', 'margeID', 'familyID' ).andThen(function (Homer, Marge, family) {
// family[0] === Homer
// family[1] === Marge
Homer.spouse === Marge
Marge.spouse === Homer
})
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment