CouchApp

ドキュメントとフォームのバインディング。

昨日の続きで以下のメソッドをCrayonのlib/form.js に追加。 text_field(doc, path, options); text_area(doc, path, options); date_select(doc, path, options, html_options); Railsの text_field(object, method, options) をぱくらせていただきました。…

フォームからドキュメントのバインディング。

寒くて途中で起きてしまったので、バインディングの続き。hidden_field とか radio_button とか check_box とかも追加したので、今度はフォームからドキュメントのマッピング。こちらは、jQuery のプラグインとして serializeJson メソッドを使えるようにし…

Mac OS X FSEvent + RubyCococa で簡単ディレクトリ監視。

CouchApp は普通のファイルシステム上でアプリケーション開発をして、couchapp push コマンドをたたいてデータベース上にアプリケーションをコミットします。しかしこれ、開発中の時、頻繁にコンソールとエディタを行ったり来たりするので面倒なのです。C-x …

= Rackがあると便利

OpenSocial Containerのサーバー側の実装にCouchDBを使おうとすると、JSON-RPCを何とかする必要がでてきます。Shindig のクライアント側(JavaScript)の実装では、JSON-RPCを使っているからです。OpenSocial v0.9 で定義されるLightweight JavaScript APIもJS…

external process はマルチプロセスで動くのか?

という検証。 http://d.hatena.ne.jp/yssk22/20090615#1245080242 の続き。CouchDBがインテリジェントにプロセスハンドリングをしてくれるのであれば、External Process に対して連続してリクエストがきても、前のプロセスが終了していなければ、別途プロセ…

CouchDB の show フォーマットを使った時の罠

1時間ぐらいはまった。結論。CouchDBでドキュメントを更新(HTTP PUT)をするときに、ドキュメントが _revisions メンバーを持つ場合、厳しいリビジョンチェックが行われるので注意。

External Process

CouchDB で外部プロセスをHTTPリクエストから起動する方法。Wikiにpythonの例があるので、rubyで。基本的には update notification と同じ。 #!/usr/bin/env ruby require 'rubygems' require 'json' require 'logger' run = true logger = Logger.new("/tmp…