opal-pouchdb allows PouchDB databases to be used with a nice Ruby API.
Basic usage follows PouchDB's API very closely. The major difference is that, in JavaScript, a developer may decide if she wishes get the results of her interactions with the database via callbacks or promises. In opal-pouchdb, everything returns an Opal Promise, allowing your async code to be as composable as that abstraction allows.
db = PouchDB::Database.new("my_database")
db.put(_id: "doc-1", summary: "Awesome", text: "Cake").then
db.get("doc-1")
end.then do |db_record|
puts db_record # => { "_id" => "doc-1", "_rev" => "some-large-string", "summary" => "Awesome", "text" => "Cake" }
end
Every single CRUD operation is supported right now:
- put
- post
- get
- delete
- all_docs
- bulk_docs
- Attachments
- Querying
- Plugins
- Debug mode