Skip to content
Create a gist now

Instantly share code, notes, and snippets.

class PouchCore
constructor: (@remoteUrl,@onChange)->
if @remoteUrl.slice(0,4)=="http" #did we get a real url?
parts = @remoteUrl.split("/") #split the url bu by the slashes
@_dbName = parts.pop() #assign the last part as the db name
while @_dbName == "" #unless it is an empty string
@_dbName = parts.pop()#repeat until you find one
Pouch @_dbName, (e, db) => #making the local db
unless e #error would imply we are on an old browser
@db = db
continuous : true
include_docs : true
onChange : @onChange
#we replicate @remoteUrl, {continuous: true} #yeah nobody noticed the missing coma
@db.replicate.from @remoteUrl, {continuous: true}
else #there was an error lets try again but just with the remote one
Pouch @remoteUrl, (e, db) =>
unless e
continuous : true
include_docs : true
onChange : @onChange
return "yeah something went wrong"
add: (doc, cb = ()-> true) ->
unless "_id" of doc doc, cb
else if "_id" of doc and doc._id.slice(0,8) != "_design/"
@db.put doc, cb
else if doc.length
@db.bulkDocs doc, cb
get: (id, cb = ()-> true) ->
@db.get id, cb
remove: (id, cb = ()-> true) ->
@get id, (err, doc) =>
@db.remove doc, cb unless err
cb("err") if err
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Something went wrong with that request. Please try again.