BUGFIX: attribute protection

Fixes bug where documents recreated from the database were
being stripped of their protected attributes when instantiated

Signed-off-by: Marcos Tapajos <tapajos@Tapajos-MacBook.local>
This commit is contained in:
Will Leinweber 2009-12-04 01:58:07 -06:00
parent 5707d89290
commit d41c7c96da
5 changed files with 84 additions and 17 deletions

View file

@ -137,13 +137,13 @@ module CouchRest
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']
view['rows'].collect{|r|create_from_database(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']
view['rows'].collect{|r|create_from_database(db.get(r['id']))} if view['rows']
end
end
end
@ -170,4 +170,4 @@ module CouchRest
end
end
end
end