lib/couchrest/mixins/views.rb in couchrest-0.28 vs lib/couchrest/mixins/views.rb in couchrest-0.30
- old
+ new
@@ -139,11 +139,15 @@
def fetch_view_with_docs(db, name, opts, raw=false, &block)
if raw || (opts.has_key?(:include_docs) && opts[:include_docs] == false)
fetch_view(db, name, opts, &block)
else
begin
- view = fetch_view db, name, opts.merge({:include_docs => true}), &block
- view['rows'].collect{|r|new(r['doc'])} if view['rows']
+ if block.nil?
+ collection_proxy_for(design_doc, name, opts.merge({:include_docs => true}))
+ else
+ view = fetch_view db, name, opts.merge({:include_docs => true}), &block
+ view['rows'].collect{|r|new(r['doc'])} if view['rows']
+ end
rescue
# fallback for old versions of couchdb that don't
# have include_docs support
view = fetch_view(db, name, opts, &block)
view['rows'].collect{|r|new(db.get(r['id']))} if view['rows']
\ No newline at end of file