Refactored basic directory structure.
Moved to ActiveSupport for Validations and Callbacks.
Cleaned up older code, and removed support for text property types.
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>
New optional parameters are available to select the database:
Mixins::DocumentQueries
* get <id>, <db>
* all :database => <db>
* first :database => <db>
Mixins::Views
* view <name>, :database => <db>
* all_design_doc_versions <db>
* cleanup_design_docs! <db>
Mixins::DesignDoc
* refresh_design_doc now only updates the design_doc _id and removes _rev
* call save_design_doc to save and update the design_doc
* call save_design_doc_on <db> to save the design doc on a given
database without modifying the model's design_doc object
Design (core/design.rb)
* new method view_on <db>, ...
Bug fixes:
* design_doc_slug in mixins/design_doc.rb was using an empty document
to calculate the slug each time
* method_missing in core/extended_document.rb now passes a block through
* A server can have multiple defined available databases set to be used by documents (think DM repos)
* A server can have a default database so documents can easily share the same db connection
* Let a document class have a default database to use
* Give access to a document uri
* extracted some of the document features to a mixin