Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

A class for working with CouchDB documents from Cappuccino/Objective-J

branch: master

Fetching latest commit…

Octocat-spinner-32-eaf2f5

Cannot retrieve the latest commit at this time

Octocat-spinner-32 Artwork
Octocat-spinner-32 Classes
Octocat-spinner-32 Frameworks
Octocat-spinner-32 Resources
Octocat-spinner-32 .gitignore
Octocat-spinner-32 AppController.j
Octocat-spinner-32 Info.plist
Octocat-spinner-32 README.md
Octocat-spinner-32 Rakefile
Octocat-spinner-32 index-debug.html
Octocat-spinner-32 index.html
Octocat-spinner-32 main.j
README.md

CouchDB Library for Cappuccino

More information, installation instructions, etc. coming soon.

Demo Screenshot

Running the Demo

CouchDB's built-in webserver can serve static applications which can access the database on the same host/port within browser security limitations.

Run a Cappuccino app under CouchDB by editing your local.ini (or default.ini on CouchDBX). Add to the httpd_global_handlers section:

cappuccino-couchdb = {couch_httpd_misc_handlers, handle_utils_dir_req, "/path/to/cappuccino-couchdb"}

Open index.html in your browser to run the samples.

http://localhost:5984/cappuccino-couchdb/index.html

NOTE: It's also possible to use the CouchApp command line tool to sync a Cappuccino application to CouchDB, but the size of an application in development would be prohibitive. It's also inconvenient to sync code to the server every time you make a change in development.

Usage in Your Own Project

Copy the Classes/CouchDB directory and contents to your Cappuccino app.

@import "CouchDB/CouchDB.j"

The class was designed to mimic CouchDB's jquery.couch.js (couchdb/trunk/share/www/script/jquery.couch.js). So some parts use Javascript features rather than Objective-J features (inline function callbacks, hash options).

More documentation coming soon. In the meantime, see AppController.j.

Known Bugs

  • CouchDB treats a + in a filename as a space on disk, so naming Objective-C categories as CPDictionary+ParamUtils.j will fail. Hopefully this will be fixed in a future release of CouchDB.

TODO

  • Better error handling and callbacks
  • Examples of usage with a native Objective-J model.

Author

Geoffrey Grosenbach, PeepCode Screencasts

References

Something went wrong with that request. Please try again.