我正在尝试将使用CouchDB集成到Camping Web框架中。以前我使用S表达式将简单的Ruby块解析为JavaScript,当我需要更复杂的东西时,只需在字符串中编写内联JavaScript。
然后我发现了View Server,我想转而使用Ruby来实现Map和Reduce功能。
目前,我可以这样做:
view = CouchDB::View.new :myview do
map do |doc|
emit(doc._id, doc.price) if doc.kind == "Product"
end
reduce do |values|
return sum(values)
end
end
我希望能够有类似的语法,但是对于那些块(或方法,或其他)的实际文本,我可以直接读取并推送到存储视图的数据库。这可能是以一种不是真的邪恶的方式做的,比如把它们放在一个字符串中,或者读取文件并以某种方式解析它以获得视图的文本吗?