Matt Aimonetti
621f5565e9
Started working on casted models, basic functionalities are now in.
...
property :casted_attribute, :cast_as => 'WithCastedModelMixin'
A casted attribute now knows about its parent. (#casted_by to retrieve the parent's object)
2009-02-09 11:20:23 -08:00
Matt Aimonetti
fa7b176fce
[extended-document] added support for property :name, :default => 'Matt" and default couchrest type
2009-02-05 18:57:11 -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
fec21c3ff3
got rid of extlib hooking system in favor of the new Rails3 callback system. As well as fixed timestamps! in ExtendedDoc
2009-02-03 17:33:31 -08:00
Matt Aimonetti
dfdcd79a58
Started added a validation mixin
...
Usage:
class Invoice < CouchRest::ExtendedDocument
include CouchRest::Validation
property :client_name
property :employee_name
property :location
# Validation
validates_present :client_name, :employee_name
validates_present :location, :message => "Hey stupid!, you forgot the location"
end
2009-02-02 19:21:32 -08:00
Matt Aimonetti
475e970c26
renamed the ExtendedViews mixin
2009-02-02 16:16:14 -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
Matt Aimonetti
fa29906900
Rebased
...
* 'master' of git://github.com/jchris/couchrest:
all specs pass; refined attachment api
add mattetti's 5aebd53a93
fix rebase end balance
Started on the ExtendedDocument class with features moved to mixins.
Started on the ExtendedDocument class with features moved to mixins.
updated readme file
Started the refactoring work on couchrest.
added some monkey patches to improve the http connection speed. (by keeping the http connection open)
slight change of API, CR::Document now uses <action>_doc instead of <action>, also added #create! and #recreate! to Document instances
Added attachment methods to CouchRest::Document: #put_attachment, #fetch_attachment and #delete_attachment. Note you can overwrite exisitng attachments with #put_attachment.
- Added Database#delete_attachment, for removing them directly
documentation for Document#copy and #move, copied from Database
database replication methods, no conflict resolution provided
2009-02-02 15:40:49 -08:00
Chris Anderson
bd2dafd107
add mattetti's 5aebd53a93
2009-02-02 15:03:10 -08:00
Chris Anderson
55cf741859
fix rebase end balance
2009-02-02 14:56:37 -08:00
Matt Aimonetti
5aebd53a93
forgot to push the latest spec fixture
2009-02-02 14:56:17 -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
571cd257e0
database replication methods, no conflict resolution provided
2009-02-02 01:25:13 -08:00
Matt Aimonetti
d6665e55ca
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-01-29 18:45:01 -08:00
Matt Aimonetti
6b2e5f84ad
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-01-28 22:55:42 -08:00
Matt Aimonetti
fda5be213a
slight change of API, CR::Document now uses <action>_doc instead of <action>, also added #create! and #recreate! to Document instances
2009-01-28 18:16:55 -08:00
Matt Lyon
a0a422b779
add move and copy support to CouchRest::Document instances
2009-01-16 11:31:42 -08:00
Matt Lyon
0519fc5765
patch restclient locally instead of hoping/waiting for an upstream patch.
2009-01-16 11:31:42 -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
Joe Martinez
108ec0a28e
Add proxy support
2009-01-12 20:16:22 -08:00
Chris Anderson
6b57357fc0
merge deferred-delete
2009-01-12 20:01:37 -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
Chris Anderson
efa3c2e270
remove fm spec
2009-01-08 23:08:21 -08:00
Chris Anderson
88511c6ed0
strip couchapp from couchrest
2009-01-08 23:06:54 -08:00
Chris Anderson
5111cdc78f
cleanup gitignore for tmp
2009-01-08 22:20:53 -08:00
Chris Anderson
5d45b8b91b
move tmp dir for specs;
2009-01-08 22:18:06 -08:00
Chris Anderson
fb613e7dfb
move some couchapp components to couchapp project
2009-01-08 16:48:11 -08:00
Chris Anderson
5d3e684c6a
moved app template
2009-01-08 09:50:45 -08:00
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
Chris Anderson
b28e40bb96
commented out spec for fm:generate app
2009-01-04 22:49:39 -08:00
Matt Lyon
71f5ea2a1b
Merge branch 'master' of git://github.com/jchris/couchrest
...
* 'master' of git://github.com/jchris/couchrest:
file manager a little better
update gemspec
don't error when the given directories don't exist
change count to limit
2009-01-04 22:44:46 -08:00
Chris Anderson
dcef68e725
file manager a little better
2009-01-04 22:42:36 -08:00
Matt Lyon
d290357c78
don't error when the given directories don't exist
2009-01-04 21:01:32 -08:00
Chris Anderson
7aaffe5d63
change count to limit
2009-01-04 21:00:36 -08:00
Matt Lyon
eca3b06461
don't error when the given directories don't exist
2009-01-04 03:28:08 -08:00
Chris Anderson
0341b039a7
require system
2009-01-02 03:46:26 -08:00
Chris Anderson
ba6caf8d41
deep include
2009-01-02 03:22:28 -08:00
Chris Anderson
7644217add
change it to !include
2009-01-02 01:59:33 -08:00
Chris Anderson
b8856771f7
lib not library
2009-01-01 23:33:14 -08:00
Chris Anderson
8733b631e3
more reorg for couchapp
2009-01-01 23:11:01 -08:00
Chris Anderson
cc6039cbd4
modernizing couchapp
2009-01-01 22:45:41 -08:00
Chris Anderson
293e9abad8
simpler mappings
2009-01-01 22:32:50 -08:00
Chris Anderson
a10d902d71
simplyfy couchapp push
2009-01-01 22:29:39 -08:00
Chris Anderson
c180a317e8
merge rafaelss :as patch
2008-12-31 15:40:17 -08:00
Frederik Fix
cae6395007
removed the suffix and duplication when importing views
2008-12-31 15:24:19 -08:00
Chris Anderson
c488aab338
Merge branch 'janl/master'
2008-12-31 15:16:32 -08:00
Chris Anderson
8b34f083c7
Merge branch 'mattly/master' into mergemattly
2008-12-31 14:54:28 -08:00
Chris Anderson
a3ac5fc4e8
Merge branch 'save-bug' of git://github.com/raycmorgan/couchrest into raycmorgan/save-bug
2008-12-31 14:48:29 -08:00
Rafael Souza
716bc74023
added possibility to cast any key to any type using any method
2008-12-30 11:25:23 -02:00
Matt Lyon
ce172cf77b
run individual specs without rake
2008-12-19 02:09:20 -08:00
Matt Lyon
cd53e16eba
instantiate Time casts correctly
2008-12-19 02:06:05 -08:00
RayMorgan
b5ec8ba3c3
Fixed the "save bug should fix" spec
2008-12-17 23:09:01 -08:00
Nolan Darilek
84382d8af4
Removed model create/update callbacks and integrated with new bulk save infrastructure.
2008-12-15 10:27:53 -06:00
Nolan Darilek
d8d5645ebd
Make bulk saving more flexible.
...
* Database#save(doc, true) caches the doc in a database-specific bulk
cache.
* Database#save(doc, false), default, saves normally, bulk saving and
emptying the cache if one exists.
* The cache is automatically saved on Database#save if it excedes a
configurable limit, 50 by default.
* Database#bulk_save without arguments saves and clears the bulk save
cache.
2008-12-14 23:17:35 -06:00
Nolan Darilek
dd7f109878
Add support for database compaction.
2008-12-14 17:29:15 -06:00
Jan Lehnardt
7461e3fede
s/localhost/127.0.0.1/
2008-12-14 12:05:02 +01:00
Chris Anderson
12c09085df
justin_dz spec for save bug
2008-12-03 12:09:13 -08:00
Chris Anderson
47087507dd
got to green - setup out of order...
2008-12-03 12:03:59 -08:00
Chris Anderson
0c91f5d234
fixed merge
2008-11-22 16:12:16 -08:00
Chris Anderson
9a157ab63b
made rake spec pass again
2008-11-22 16:09:34 -08:00
Chris Anderson
64d71d3ac4
Merge commit '9399b27f3f58c1e333b6dd5f20bbcd3531fa4b5e'
2008-11-22 16:06:51 -08:00
Chris Anderson
2c63d91a81
added a cleanup_design_docs! method
2008-11-22 15:40:14 -08:00
Chris Anderson
8533520ef9
added couchrest-type back in to model
2008-11-22 14:29:03 -08:00
Chris Anderson
e23ad9876e
Merge branch 'design-doc'
2008-11-22 14:15:41 -08:00
Chris Anderson
78534f8ec9
I seem to have all the CR::Model specs passing
2008-11-22 14:15:07 -08:00
Chris Anderson
19a70ffd7d
got view queries happening correctly
2008-11-21 16:21:20 -08:00
Chris Anderson
32ffbfe019
more notions
2008-11-20 17:03:06 -08:00
Chris Anderson
1431196c85
gif mime
2008-11-11 14:10:23 -08:00
Chris Anderson
0769c2690f
on the road toward design docs
2008-11-08 16:28:58 -08:00
Vinicius Teles
9399b27f3f
Added the method update_attributes_without_saving.
...
To understand the reason, say you have this:
class Post < CouchRest::Model
key_accessor :title, :body, :author, comments
cast :author, :as => 'Author'
cast :comments, :as => ['Comment']
end
comment = post.comments.first
I'd like to do
comment.update_attributes_without_saving hash
because otherwise, it would create a new document for comment, which I don't want in my particular use. I just want to update the internal comment in the post.
2008-11-07 10:36:38 -02:00
Chris Anderson
0ce716518f
factor out couchrest::document
2008-11-03 22:52:50 -08:00
Matt Aimonetti
b1315d20f4
added model#save! raising an exception if the document isn't saved properly
2008-11-03 17:45:21 -08:00
Matt Aimonetti
19f587c0d6
added support for model#first
2008-11-03 16:40:19 -08:00
Chris Anderson
b37f6a326b
fixed a hash bug
2008-10-28 10:07:57 -07:00
Chris Anderson
b62b77eee5
new capabilities for couchapp script
2008-10-28 09:56:42 -07:00
Chris Anderson
59f81d2d77
removed metaprogramming
2008-10-14 15:30:38 -07:00
Chris Anderson
320f6b99aa
whitespace
2008-10-14 15:09:02 -07:00
Chris Anderson
6851c7a2be
views accept blocks
2008-10-14 15:08:17 -07:00
Chris Anderson
254eb20161
view blocks flow
2008-10-14 01:07:48 -07:00
Chris Anderson
54a0afdf8e
added block yields to db.view
2008-10-13 16:46:48 -07:00
Chris Anderson
b1847cb465
better ducktype specs
2008-10-13 16:37:50 -07:00
Chris Anderson
d13159039a
adding ducktype support
2008-10-13 02:01:24 -07:00
Chris Anderson
adcaaaf59a
fixed specs when run under rake
2008-10-11 09:55:21 -07:00
Chris Anderson
7a92723260
include-docs support
2008-10-08 12:32:22 -07:00
Chris Anderson
e2f7163816
multi-key support for views, temp-views, and alldocs
2008-10-08 12:19:28 -07:00
Chris Anderson
ba16fb586a
update attributes method
2008-10-03 12:58:45 -07:00
Chris Anderson
696d89c45c
use strings instead of constants
2008-10-02 23:56:22 -07:00
Chris Anderson
b3db1c797f
silence parens warning
2008-10-02 23:44:54 -07:00
Chris Anderson
26059f63f2
added the Model.all view
2008-10-02 23:36:39 -07:00
Chris Anderson
355d408730
move to class_inheritable_accessor
2008-10-02 23:30:41 -07:00
Chris Anderson
c170008deb
dont save over an existing design doc
2008-10-02 21:21:48 -07:00
Chris Anderson
9858f85c19
subobject casting
2008-10-02 17:13:59 -07:00
Chris Anderson
03f4169350
couchrest-type
2008-10-02 16:39:06 -07:00
Chris Anderson
8ac6b78170
default values and lambda unique_ids
2008-10-02 14:11:04 -07:00
Chris Anderson
10806b675e
added CR::Model#destroy
2008-10-02 11:06:37 -07:00
Chris Anderson
98923843ef
converted to Hash subclass
2008-10-02 10:45:08 -07:00
Chris Anderson
2b7e49c9c6
put attachments
2008-09-30 17:22:54 -07:00
Chris Anderson
902e1bed26
moved specs so the autotest filemapping works better
2008-09-30 16:21:28 -07:00
Chris Anderson
2ae79c51a1
cleanup rakefile business
2008-09-29 21:08:52 -07:00
Chris Anderson
b58259ec1a
implemented view argument currying
2008-09-29 20:18:18 -07:00
Chris Anderson
6a86a00d21
couchrest model supports custom view definitions
2008-09-29 18:10:07 -07:00
Chris Anderson
4a1de8c1ba
couchrest query params passed through by_xxxx views
2008-09-29 17:46:33 -07:00
Chris Anderson
f408dfceb6
compound-key views work
2008-09-29 17:27:41 -07:00
Chris Anderson
5e0cb81ad7
most of the callbacks are installed, adding view generation
2008-09-29 16:28:57 -07:00
Chris Anderson
ce3a3258bc
created CouchRest::Model mixin
2008-09-29 09:55:40 -07:00
Chris Anderson
ef3055c222
use url parser to parse database! urls
2008-09-28 16:03:15 -07:00
Chris Anderson
38462375b4
bug fixes in couchapp
2008-09-16 12:10:45 -04:00
Chris Anderson
7f818c2cf1
added attachment uploading
2008-09-16 11:44:02 -04:00
Chris Anderson
baa2c1dd37
ignore spec fixtures
2008-09-16 11:16:27 -04:00
Chris Anderson
e3da7d5c8f
specs for couchapp
2008-09-16 11:15:36 -04:00
Chris Anderson
2356df978e
file manager pushes apps
2008-09-16 11:14:25 -04:00
Jan Lehnardt
bb8371a718
added url parser tests
2008-09-15 00:49:42 +02:00
Chris Anderson
26d50c8ac1
added a url parser that CouchRest can use throughout (but is not yet using)
2008-09-13 21:07:21 -04:00
Chris Anderson
9e7738fd74
added streamer class
2008-09-07 15:28:20 -07:00
Chris Anderson
54f260173f
CouchRest no longer uses POST for doc creation
2008-09-07 13:51:26 -07:00
Chris Anderson
91299f630b
added database factory method
2008-09-07 12:54:10 -07:00
Chris Anderson
5d56f1961f
added easy method for ensuring databases exist
2008-09-07 12:43:13 -07:00
Chris Anderson
1eac462612
spec the error doc
2008-09-05 14:09:17 -07:00
Chris Anderson
88f83f0742
moved scripts to bin
2008-08-03 12:51:17 -07:00
Chris Anderson
541a3cac74
brought file manager back in as a class
2008-08-02 00:03:54 -07:00
Chris Anderson
93f95741c4
removed version test
2008-07-25 13:47:35 -07:00
Chris Anderson
eecd92a6ef
updated rescues for better rest-client
2008-07-19 15:25:02 -04:00
Chris Anderson
f0f25bb7af
pager now pages through all_docs view specially
2008-07-14 11:51:15 -07:00
Chris Anderson
5add5b0b5c
specs on right server
2008-07-07 00:05:25 -07:00
Chris Anderson
d2de19022e
CouchRest::Pager for paging through views
2008-07-04 16:56:37 -07:00
Chris Anderson
915905ca13
upgraded couchrest for 080
2008-07-04 16:56:09 -07:00
Chris Anderson
8641d63533
working towards gem
2008-06-20 12:43:28 -07:00
Chris Anderson
a12ad9c4ea
restart etc
2008-06-15 11:43:05 -07:00
Chris Anderson
58c6b7ee8a
Merge branch 'mattly/master'
2008-06-12 09:24:07 -07:00
Chris Anderson
82c958606b
version numbre spec
2008-06-12 09:16:53 -07:00
Matt Lyon
9954d914c7
PUT attachments as stubs doesnt choke
2008-06-12 08:40:52 -07:00
Chris Anderson
bc7a0ec656
rev spec
2008-06-09 13:18:52 -07:00
Chris Anderson
b350a51963
better attachment api
2008-06-07 09:00:41 -07:00
Chris Anderson
bf1acd8355
document attachments now supported
2008-06-07 08:32:51 -07:00
Chris Anderson
4063210302
update to new Couch, vendor finish
2008-06-01 10:23:24 -07:00
Chris Anderson
85ecf7b076
updated for current revision
2008-05-29 12:32:13 -07:00
Chris Anderson
4cf4b22a75
view round trip specs
2008-05-25 11:49:26 -07:00
Chris Anderson
c776b80ac6
start key and such on all-docs
2008-05-24 17:01:28 -07:00
Chris Anderson
b93f6e7677
JSON.unparse is picky compared to to_json... go figure
2008-05-24 13:17:44 -07:00
Chris Anderson
dc6c9276e5
simplified json include
2008-05-24 12:28:42 -07:00
Chris Anderson
939ecaaf73
just keeping up with the versions
2008-05-23 10:18:09 -07:00
Chris Anderson
ea68f7af85
ability to set keys and count on temp_views
2008-05-22 21:57:21 -07:00
Chris Anderson
ce5bf9ffe8
added handling of view params like count etc
2008-05-22 21:41:52 -07:00
Chris Anderson
1145fc4042
changed the signature of temp_view to match the design document schemas
2008-05-21 14:58:37 -07:00
Chris Anderson
d63f17db85
updated specs for CouchDB version 0.7.3a658733
2008-05-21 11:08:42 -07:00
Chris Anderson
d1ece2c1aa
fixed bad constant for localhost name
2008-05-19 14:41:14 -07:00
Chris Anderson
32d96cb634
calling localhost 'localhost' for portability :)
2008-05-17 14:40:45 -07:00
Chris Anderson
80c50ccf8f
got reduce support working for javascript views
2008-05-17 13:41:16 -07:00
Chris Anderson
81d27c6f16
updated specs and code to reflect changes in bulk_docs for CouchDB 0.7.3
2008-05-14 17:27:21 -07:00
Chris Anderson
c3b6e3e2d0
get views
2008-03-19 22:38:01 -07:00
Chris Anderson
6995d478c9
temp view
2008-03-19 18:10:16 -07:00
Chris Anderson
7f14458694
bulk save
2008-03-19 16:38:07 -07:00
Chris Anderson
43f51c5490
PUT to update
2008-03-19 16:01:04 -07:00
Chris Anderson
e7ea12f2ae
hit a snag with rest-client and query params
2008-03-19 15:21:27 -07:00
Chris Anderson
420168be70
escape get and put ... still need delete
2008-03-19 14:33:41 -07:00
Chris Anderson
99f25bbbfc
added document retreival (GET)
2008-03-19 10:17:25 -07:00
Chris Anderson
097ab935c6
getting into view land
2008-03-19 08:57:20 -07:00
Chris Anderson
d356e2356a
progress
2008-03-18 23:11:44 -07:00
Chris Anderson
32c01fadad
working specy stuff i hope
2008-03-18 11:37:10 -07:00
Chris Anderson
2c42cf1ca5
first check in with one or two specs
2008-03-17 23:07:57 -07:00