如何在不污染全局范围的情况下构建友好的nosql ORM?

时间:2011-09-17 03:39:40

标签: ruby nosql couchdb camping

有一段时间,我一直在努力构建一个小的Ruby库来与CouchDB连接,CouchDB是一个带有HTTP接口的简洁的小文档数据库。主要特点是:

  • 文件对象是美化的哈希
  • JavaScript Map / Reduce函数使用本机Ruby编写,并使用S Expressions
  • 解析为JavaScript
  • 您可以与多个Couch数据库进行交互
  • 它应该与野营
  • 等微框架很好地整合

我希望能够做到这样的事情:

@recipes = Recipes.all

其中“Recipes”是一个定义文档所需的几个键的类(类名自动用作“kind”键)。

但在艰难时期,我可能想做这样的事情:

@recipes.each do |recipe|
    recipe.cost = "too much!!"
    recipe.push!
end

现在,显然能够像这样“推送”,我要么需要数据库......在范围内某处...或者文档对象本身要保存对数据库对象的引用?如何在像ActiveRecord这样成熟的ORM中完成这项工作?

我不想做,你知道,recipe.push!(@couch_database_object)或其他什么,因为那太可怕了!但我不想成为一个污染范围的卑鄙小人物。

有什么建议吗?

0 个答案:

没有答案