Commit graph

122 commits

Author SHA1 Message Date
Brian Candler 14acd95444 Server URI can now include a prefix to the database name 2009-03-27 10:27:04 -07:00
Brian Candler 190bd13723 Escape slash in database name 2009-03-27 10:26:54 -07:00
Brian Candler af6ac7df89 Remove obsolete 'move' methods 2009-03-27 11:50:42 +00:00
Brian Candler ec7848b783 Multiple database support for ExtendedDocument.
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
2009-03-27 11:27:37 +00:00
Geoff Buesing a1a4985149 Namespace Extlib versions of class_inheritable_accessor methods with extlib_prefix, as done in Wycats' Rails fork, so that their inclusion won't overwrite existing ActiveSupport implementations, if present. Check for existence of Class extensions on a per-method basis. 2009-03-19 16:59:22 -07:00
Geoff Buesing 4d8314124b Remove CouchRest.move, CouchRest::Database#move and #move_doc, because these methods are no longer supported by CouchDB
Ref: http://n2.nabble.com/Removing-MOVE-td2490780.html#a2490780
2009-03-18 11:22:49 -05:00
Chris Anderson fbc21aacd9 updater is simpler now that I learned about open_revs=all 2009-03-14 19:00:26 -07:00
Chris Anderson 8964a9b282 created upgrade helper 2009-03-14 18:42:34 -07:00
Chris Anderson 7b03c7ba25 fix for design doc url changes 2009-03-09 13:12:28 -07:00
Matt Aimonetti 813f673d88 increased the bulk cache limit to 500, it can be manually increased up to 1000 safely 2009-03-05 15:06:56 -08:00
Matt Aimonetti 55ecda2c90 spec'd casted extended document 2009-03-02 21:15:02 -08:00
Matt Aimonetti 80317f31a5 fixed the uuid count for the latest version of couchdb
also avoided CONSTANTS warnings, cleaned up the attachment specs, added missing fixtures
2009-02-25 00:22:11 -08:00
Matt Aimonetti fe489f2d38 removed CouchRest::Model, added more specs and fixed a bug with casted CR::ExtendedDocument 2009-02-24 22:51:13 -08:00
Matt Aimonetti c4cce18389 added database.bulk_delete as an alias for #bulk_save, added support for Model.by_view_name in ExtendedDoc and bumped the version to 0.13.3 2009-02-17 00:36:11 -08:00
Matt Aimonetti c0abafd1e0 fixed a major bug with inheritance and the class database setup. (plus some validation bugs) 2009-02-10 16:10:35 -08:00
Matt Aimonetti 890b60cae4 added autovalidation (auto_validate! in your ExtendedDocument) and extracted some extlib stuff so we will soon be able to remove the dependency. 2009-02-05 17:06:12 -08:00
Matt Aimonetti e9930c5a86 extracted the response class to its own file 2009-02-05 16:56:48 -08:00
Matt Aimonetti 08c7f2107c moved stuff around and cleaned up some deprecation notices [save/save_doc] 2009-02-02 16:10:07 -08:00
Chris Anderson 60c577963d all specs pass; refined attachment api 2009-02-02 15:24:31 -08:00
Matt Aimonetti 83d7341553 Started on the ExtendedDocument class with features moved to mixins.
Properties got added, they define getters, setters and aliases.
They will also be the base of the new validation system.
2009-02-02 14:51:41 -08:00
Matt Aimonetti d9fe6ba374 Started the refactoring work on couchrest.
* 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
2009-02-02 14:51:41 -08:00
Matt Aimonetti 84e2bf94e4 slight change of API, CR::Document now uses <action>_doc instead of <action>, also added #create! and #recreate! to Document instances 2009-02-02 14:50:30 -08:00
Matt Lyon a4a2b202ae Added attachment methods to CocuhRest::Document: #put_attachment, #fetch_attachment and #delete_attachment. Note you can overwrite exisitng attachments with #put_attachment. 2009-02-02 01:25:14 -08:00
Matt Lyon b915f7f708 - Added Database#delete_attachment, for removing them directly
- Modified Database#fetch_attachment to take a doc as its first argument +as well as+ a docid, to be consistent with the other attachment methods.
- Refactored the attachment uri generation used by #fetch_attachment, #put_attachment, and #delete_attachment to a common private method, #uri_for_attachment
2009-02-02 01:25:14 -08:00
Matt Lyon 9b3b56bbf5 documentation for Document#copy and #move, copied from Database 2009-02-02 01:25:13 -08:00
Matt Lyon 571cd257e0 database replication methods, no conflict resolution provided 2009-02-02 01:25:13 -08:00
Chris Anderson e9f7456eab change couchrest back to _temp_view, rev gem version 2009-01-27 15:11:10 -08:00
Chris Anderson 8f24d7d5a3 bulk_save has an option to have couch add the uuids 2009-01-23 23:25:24 -08:00
Chris Anderson a449ace490 dropped explicit extlib dependency 2009-01-19 16:07:35 -08:00
Chris Anderson 139c3253e2 applied patch from nanodeath -- thanks 2009-01-19 14:49:48 -08:00
Matt Lyon a0a422b779 add move and copy support to CouchRest::Document instances 2009-01-16 11:31:42 -08:00
Chris Anderson 4c6d12fb6a fixup default handling 2009-01-13 13:06:25 -08:00
Chris Anderson 7d6f3e0ced fix conflict markers... 2009-01-12 21:42:31 -08:00
Chris Anderson 93d8fd25fb strip old create and update 2009-01-12 21:07:56 -08:00
Jonathan S. Katz 081cf171cd fixed documentation: before(:delete) => before(:destroy) 2009-01-12 21:06:48 -08:00
Jonathan S. Katz 3bff23e7c5 added CouchRest::Model#attachment_url for someone to fetch the attachment using other means 2009-01-12 21:06:48 -08:00
Jonathan S. Katz a79d9b7f90 changed parameter passing for model attachment methods to be more flexible 2009-01-12 21:06:48 -08:00
Jonathan S. Katz 0cf5fbe311 added #has_attachment? method 2009-01-12 21:06:48 -08:00
Jonathan S. Katz e497fbbab4 Added basic specs for attachment CRUD 2009-01-12 21:06:48 -08:00
Chris Anderson 8d25cbc8b0 merge mime types in model 2009-01-12 21:06:48 -08:00
Chris Anderson 49685d8e42 fixup save callbacks 2009-01-12 21:06:26 -08:00
Chris Anderson 5e7f61d332 apply sho's patch: default values may be lambdas 2009-01-12 20:46:03 -08:00
Chris Anderson 6b57357fc0 merge deferred-delete 2009-01-12 20:01:37 -08:00
Chris Anderson bca68cf1a9 design doc ids fixed throughout 2009-01-12 19:54:02 -08:00
Chris Anderson d1f8970c84 fixed ddoc names on get 2009-01-12 19:50:00 -08:00
Antony Blakey 36945d5a13 Add bulk save deferal option to db.delete / doc.destroy, just like on save. 2009-01-09 20:29:08 +10:30
Matt Lyon 9faa9daaca support for couchdb's support for the COPY and MOVE verbs. depends on my commit to RestClient, currently only in b5d75acc68
I have considered adding this to the CouchRest::Document class as well ("@doc.copy new-id" and such) but haven't yet.
2009-01-05 00:44:12 -08:00
Matt Lyon a2aa4a9a3c Merge branch 'master' of git://github.com/jchris/couchrest
* 'master' of git://github.com/jchris/couchrest:
  Fix up set_default to not munge existing values.
  commented out spec for fm:generate app
2009-01-04 23:01:17 -08:00
Matt Lyon e15581b1dd fix temp_view -> slow_view stuff for couchdb trunk 2009-01-04 23:00:59 -08:00
Max Aller f3bc7f8eba Fix up set_default to not munge existing values. 2009-01-04 22:51:08 -08:00