Skip to content

Instantly share code, notes, and snippets.

require 'rack/config'
use Rack::Config do |env|
env['couch.users'] = 'http://localhost:5984/users'
end
use MyAuthMiddleware # needs users
run MyApp # also needs users
gem install rack-config
sudo gem install cloudkit
require 'cloudkit'
expose :notes, :projects
thin -R config.ru start
require 'cloudkit'
contain :notes, :projects
# The CloudKit 0.9.x way to list resources in a collection --
# Still valid and useful...
$ curl -i http://localhost:9292/notes
HTTP/1.1 200 OK
Last-Modified: Sat, 10 Jan 2009 00:12:52 GMT
ETag: "c01f6230a8c40a2576b6f35f32f966ab"
Link: <http://localhost:9292/notes/_resolved>; rel="http://joncrosby.me/cloudkit/1.0/rel/resolved"
Cache-Control: proxy-revalidate
Content-Type: application/json
@jcrosby
jcrosby / init.rb
Created January 23, 2009 00:47 — forked from jnewland/init.rb
# A Sinatra App as a Rails Plugin
#
# In your Edge Rails app:
#
# ruby script/plugin install git://gist.github.com/50625.git
require 'sinatra/base'
class SinatraRailsPlugin < Sinatra::Base
require 'cloudkit'
# use the default in-memory store
CloudKit.setup_storage_adapter
# create a resource in the 'items' collection
resource = CloudKit::Resource.create(
CloudKit::URI.new('/items'),
JSON.generate({:foo => 'bar'}))
// Assuming a CloudKit app hosting "notes" and "things" collections:
var store = $.cloudkit;
store.boot({
success: function() {
// insert a 'thing'
store.collection('things').insert({name:"box"}, {
success: function(index) {
// do something with your data
}