Sam Lown
dd55466764
adding support for collection_of association
2010-06-17 15:02:33 +02:00
Sam Lown
fa0ab968a8
Adding associations to casted model
2010-06-17 02:43:17 +02:00
Sam Lown
a7a6b2f0ac
adding initial support for belongs_to associations
2010-06-17 02:39:09 +02:00
Sam Lown
e638db63c2
Adding more tests for new property class layout
2010-06-16 22:02:12 +02:00
Sam Lown
2b0694e1e2
Merged
2010-06-16 21:04:53 +02:00
Sam Lown
19cd7ae41e
trying to refine design doc change detection
2010-06-15 02:10:14 +02:00
Sam Lown
d0f8b0be68
Ensuring that views with two properties will quick find
2010-06-15 01:35:14 +02:00
Sam Lown
2139119845
Supporting new active_support setup for Rails 3
2010-06-15 01:24:31 +02:00
Sam Lown
5dfd18cd71
Adding support for find_by quick view access searches
2010-06-15 01:15:30 +02:00
Sam Lown
7b40042087
Adding alias to get for find
2010-06-07 13:56:39 +02:00
Sam Lown
c06907fe58
Cleaned boolean tests
2010-05-22 00:24:07 +02:00
Sam Lown
5b048c2280
More trueness testing and removing string comparison for booleans
2010-05-22 00:17:33 +02:00
Sam Lown
3fa8c4b215
Fixing #property? support for boolean and TrueClass
2010-05-21 23:00:19 +02:00
Sam Lown
89c45ebb87
Adding support for setting types with hash
2010-05-13 00:17:30 +02:00
Sam Lown
b0d2258bd3
Improving handling of mime types, instanciation of documents from the
...
database, and more dependencies on active_support.
2010-05-12 23:43:17 +02:00
Sam Lown
d239d037fb
Added base file for better automated library loading support
2010-05-11 00:15:40 +02:00
Sam Lown
3894579304
Moving to own repo without the base couchrest
2010-05-10 21:19:24 +02:00
Sam Lown
e6604a0990
Simplifying design docs
2010-04-16 02:51:59 +02:00
Sam Lown
0e282f0727
Disabling reset_design_doc to avoid conflict errors
2010-04-14 20:47:26 +00:00
Sam Lown
ab6d833397
Adding support for only resfreshing design document if really required
2010-04-07 21:00:51 +00:00
Sam Lown
5fd1c3903b
Making design doc thread safe for checking status of design doc
2010-04-06 17:51:17 +00:00
Sam Lown
77cb8160c7
Fixing support for specifying database in collections
2010-04-05 22:22:56 +00:00
Sam Lown
456946c149
Merge branch 'master' of git://github.com/couchrest/couchrest
2010-03-31 19:47:43 +00:00
Sam Lown
f196aacecc
Simplifying and moving CastedArray into own file
2010-03-31 08:25:33 +00:00
Marcos Tapajós
c2ef5d9fde
Adding a spec to test issue #15 ( http://github.com/couchrest/couchrest/issues#issue/15 )
2010-03-30 20:51:18 -03:00
Sam Lown
1b019fa3fe
Merge branch 'master' of git://github.com/couchrest/couchrest
2010-03-30 20:57:22 +00:00
Sam Lown
dd3df8fb69
Adding support for defining cast_as on properties as a Class
2010-03-30 20:50:47 +00:00
John Wood
b26f90d2ff
Added support for couchdb-lucene.
...
Added a search method to CouchRest:Database to search the documents in a
given database. Added support for a :search parameter to Collection's
paginated_each method, which will allow you to paginate over a set of
search results.
This code has been brought to you by Dave Farkas (sakrafd) and
Arnaud Berthomier (oz).
2010-03-15 19:20:07 -05:00
Will Leinweber
d3d67f724c
make one spec work on ruby 1.8.6
2010-03-15 19:07:41 -05:00
Will Leinweber
ef6739774b
Merge remote branch 'samlown/master' into official-master
2010-03-15 18:50:20 -05:00
sauy7
3c314e14d0
Patching in fixes for missing uri scheme in CouchRest.parse and adding support for continuous replication
2010-03-10 18:49:31 -06:00
Sam Lown
ca23e186f4
Added ActiveRecord like after_initialize callback to ExtendedDocument
2010-03-03 20:01:27 +00:00
Sam Lown
d992f44365
Refactoring typecast so that it is less invasive and uses latest code base
2010-03-03 02:18:32 +00:00
Sam Lown
88f42d8fe0
Merge branch 'master' of git://github.com/sauy7/couchrest
2010-03-03 00:18:32 +00:00
Marcos Tapajós
228783d453
Removing duplicated code
2010-02-27 19:23:02 -03:00
Pierre Larochelle
cc9ed83cd3
Added an update_doc method to database to handle conflicts during atomic updates.
...
Also added appropriate specs
Signed-off-by: Marcos Tapajós <tapajos@gmail.com>
2010-02-27 19:05:55 -03:00
Peter Gumeson
6d571a7d81
Class proxy was not setting database on result sets
2010-02-27 18:42:32 -03:00
Marcos Tapajós
17dac85a02
Changing CouchRest::ExtendedDocument to allow chaining the inherit class callback
2010-02-26 21:57:42 -03:00
Will Leinweber
d41c7c96da
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>
2010-02-26 17:18:10 -06:00
Tim Heighes
151ea5566d
Fixes for 4 of the original 10 failing specs
2010-02-26 00:25:51 +01:00
Will Leinweber
15ea10eb9c
attempt to merge wildchild/type_cast, still failing specs
2010-02-17 16:35:42 -06:00
Damien Mathieu
ec51c34f7d
recreating a non-existant database shouldn't raise any exception (and we make sure of it)
...
Signed-off-by: Marcos Tapajós <tapajos@gmail.com>
2010-02-03 14:09:56 -02:00
John Wood
4a8015b119
Move the provides_collection declaration into the Article test fixture, and out of the test, fixing a test case that was failing in ruby 1.9.
...
Signed-off-by: Will Leinweber <will@bitfission.com>
2010-01-07 12:25:31 -06:00
Sam Lown iMac
08cf9e59b6
Fixing incorrectly generated document URIs with testing
...
Signed-off-by: Marcos Tapajós <tapajos@gmail.com>
2010-01-03 21:42:22 -02:00
Chris Anderson
b55a3ec0d3
fix regexp escaping issue in test fixture view
2009-12-20 11:07:53 -08:00
deepj
b8bda3bb02
Initialization of ExtendentDocument model shouldn't failed on a nil value in argument
...
Signed-off-by: Tapajós <tapajos@gmail.com>
2009-11-10 07:52:33 -02:00
Tapajós
0ed7413703
Adding tests to commit b5d09afef5
2009-10-31 10:40:56 -02:00
Will Leinweber
b5d09afef5
Adds attribute protection to properties
...
Public Facing
* through either :protected or :accessible8 flags
* prevents protected attributes from being set in mass assignment
Developer Facing
* refactors #initialize and #update_attribute_without_saving
to use same private methods to set attributes on ExtendedDocument
* adds new mixin to do protection
Signed-off-by: Tapajós <tapajos@gmail.com>
2009-10-31 09:56:58 -02:00
Tapajós
58d621d399
Changing some validations to be compatible with activemodel.
2009-10-31 09:54:16 -02:00
Tapajós
d4010ad76e
I think that init_method is more semantic that send.
2009-10-31 09:53:50 -02:00
Matt Aimonetti
164ef6bc9d
fixed a encoding bug with ruby1.9
2009-10-23 15:47:20 -02:00
Julien Sanchez
1c43a8f3d3
Streamer fixes
...
* url must be quoted inside the curl command otherwise '&' between
params are interpreted by shells
* View url format updated
* Streamer yielded the last row returned by curl ("}]") as nil
* Specs
2009-10-18 01:59:30 +08:00
Mathias Meyer
d8e7652680
Added support for https database URIs.
...
Signed-off-by: Tapajós <tapajos@gmail.com>
2009-10-18 01:57:39 +08:00
Tapajós
2f2c507582
Merge remote branch 'tapajos/master'
...
Conflicts:
README.md
lib/couchrest/mixins/properties.rb
spec/couchrest/core/database_spec.rb
spec/couchrest/more/extended_doc_spec.rb
2009-09-20 22:52:39 -03:00
Tapajós
8c8ede012c
This line is stopping all the specs. I think that it is only a debugger. Right?
2009-09-03 23:33:09 -03:00
Tapajós
3c2ebb022d
Merge remote branch 'remotes/old/master'
...
Conflicts:
README.md
couchrest.gemspec
lib/couchrest.rb
lib/couchrest/mixins/properties.rb
2009-09-03 23:10:06 -03:00
Tapajós
8db522a116
Fix issue #1 .
2009-09-03 00:27:04 -03:00
Tapajós
bc6df2f5ca
Adding support to :cast_as => 'Date'.
2009-09-02 23:55:55 -03:00
Tapajós
273a174aae
Fixing spec description
2009-09-02 23:52:43 -03:00
Matt Aimonetti
e878234bd6
fixed a failing spec
2009-08-24 17:36:33 -07:00
Matt Aimonetti
64a51b73ae
merged Peter's stuff
2009-08-24 16:57:58 -07:00
John Wood
feb09f9764
Removed amount_pages calculation for the pagination collection, since it cannot be reliably calculated without a view
2009-08-20 12:29:02 -07:00
John Wood
b0dca70b02
Fixed a bug in the pagination code that caused it to paginate over records outside of the scope of the view parameters.
2009-08-20 12:28:28 -07:00
Peter Gumeson
1938270d65
Merge commit 'mattetti/master'
2009-08-12 16:48:13 -07:00
Chris Anderson
accb50dd02
clean up some deprecated specs and old comments
2009-08-06 13:33:23 -07:00
Chris Anderson
485bba41ef
weaken an assertion that was failing for me, even though the feature works
2009-08-06 13:31:55 -07:00
Chris Anderson
212bc79f3e
fix content_type handling for attachments
2009-08-06 13:04:17 -07:00
Matt Aimonetti
889a923dbf
Added #amount_pages to a paginated result array
2009-08-03 12:19:07 -07:00
Matt Aimonetti
a17df45fc3
made all the specs run on 1.9.2, yay :)
2009-08-01 14:21:18 -07:00
John Wood
d1d8da513c
Added code to generate a property? method for properties casted as :boolean
...
Signed-off-by: Matt Aimonetti <mattaimonetti@gmail.com>
2009-07-31 08:23:45 +08:00
Matt Aimonetti
5270fde0fa
added an option to force the deletion of a attachment
2009-07-29 20:12:35 -07:00
Matt Aimonetti
beb801d1bd
fixed the database attachment specs
2009-07-29 19:01:38 -07:00
Matt Aimonetti
9141669df1
extracted the rest API to its own module
2009-07-29 18:32:34 -07:00
Matt Aimonetti
5cd2eaf18a
made get not raise an exception anymore, use get! instead if you need to raise exceptions.
...
* ExtendedDocument.get doesn't raise an exception anymore. If no documents are found nil is returned.
* ExtendedDocument.get! works the say #get used to work and will raise an exception if a document isn't found.
2009-07-22 16:05:55 -07:00
Daniel Kirsch
4d4972f0de
fixed class proxy design doc wreidness
2009-07-21 23:38:00 +02:00
Daniel Kirsch
be7cd7442b
added count to proxy
2009-07-21 14:14:58 +02:00
wildchild
e4ad16b77c
Use Time#mktime_with_offset
2009-07-21 09:31:18 +06:00
Peter Gumeson
d85155040a
Merge commit 'mattetti/master'
2009-07-20 16:21:10 -07:00
wildchild
f65d8bbbcc
Should cast casted attribute on direct assignment
2009-07-21 05:01:34 +06:00
Matt Aimonetti
413a7602e8
added amount_pages to a paginated collection
2009-07-20 15:52:14 -07:00
wildchild
16d9e819d7
Added typecasting of properties
2009-07-21 03:17:27 +06:00
Peter Gumeson
1e44302d1a
Merge commit 'mattetti/master'
2009-07-19 00:01:07 -07:00
Peter Gumeson
7bae8acc36
Merge branch 'new_callbacks'
2009-07-18 23:37:16 -07:00
Matt Aimonetti
5140899041
Added ExtendedDocument.create({}) and #create!({}) so you don't have to do Model.new.create
2009-07-17 00:12:33 -07:00
Matt Aimonetti
8f8b5dc568
added support to cast Float values
2009-07-16 19:52:53 -07:00
Matt Aimonetti
9a167cc27d
fixed the specs
2009-07-14 23:48:06 -07:00
Matt Aimonetti
b2a29d9eb7
started extracting the http layer
2009-07-14 01:43:40 -07:00
John Wood
a0d6204b42
Added some more doc for Collection, and cleaned up how provides_collection works.
2009-07-08 09:43:31 -07:00
John Wood
a9a53b8729
Added more tests for Collection module, cleaned up the code as well.
2009-07-08 09:40:47 -07:00
John Wood
5963f1d4f8
Better integration with couchrest views. More tests, doc, and some cleanup still needed.
2009-07-08 09:39:30 -07:00
Peter Gumeson
ce02d05eac
Merge commit 'mattetti/master'
2009-06-20 21:05:00 -07:00
wildchild
f9d8f09ab9
Handle default values properly
2009-06-18 15:00:13 -07:00
Peter Gumeson
cdf998b185
Merge commit 'sethladd/master'
2009-06-12 12:17:15 -07:00
Peter Gumeson
e94403ca28
Added a spec for saving a casted array
2009-06-11 23:34:02 -07:00
Peter Gumeson
fc18b47800
Merge commit 'mattetti/master'
2009-06-11 21:18:37 -07:00
Seth Ladd
92d7fdb94d
refactoring how casting works
2009-06-09 18:02:04 -10:00
Seth Ladd
7246801f57
merged in sporkd
2009-06-08 10:10:59 -10:00
Matt Aimonetti
c18567f8fc
differentiated attachment's URI and URL
2009-06-07 18:51:31 -07:00
Peter Gumeson
db7829e996
Callbacks now take multiple callback methods
2009-06-07 18:46:30 -07:00
Peter Gumeson
ab362cb32c
More convenient callback alias methods
2009-06-07 17:01:21 -07:00
Peter Gumeson
dc4787e905
Integrated Yehuda's new callback code from rails
2009-06-07 02:57:22 -07:00
Peter Gumeson
76b1563539
Renamed new_document? and new_model? to simply new?
2009-06-04 20:44:44 -07:00
Peter Gumeson
b4e2250668
Added validation callbacks to extended documents and casted models
2009-06-04 19:49:10 -07:00
Peter Gumeson
91cd1d9c7b
base_doc should be nil for unassociated casted models
2009-05-30 23:20:39 -07:00
Peter Gumeson
027dd9a3ee
A better fix for failing spec
2009-05-30 15:47:04 -07:00
Peter Gumeson
fb3c4530ed
Fixed a failing spec when using ruby 1.9
2009-05-30 14:53:55 -07:00
Peter Gumeson
d012380b67
Added helper for accessing the top level document. And more rails compatibility.
2009-05-28 22:42:30 -07:00
Peter Gumeson
efeb654114
casted_by is now set on assignment to a document.
2009-05-28 17:56:42 -07:00
Peter Gumeson
23341f3698
Added new_model? and new_record? alias to casted model for rails compatibility.
2009-05-28 16:09:53 -07:00
Peter Gumeson
9a026997dd
valid? now recursively checks casted models. Added better validation spec coverage.
2009-05-28 12:18:23 -07:00
Peter Gumeson
4a4cae0d95
Merge branch 'mattetti/master'
2009-05-28 11:30:15 -07:00
Matt Aimonetti
295c0f0511
fixed the design doc cache issue
2009-05-27 23:59:43 -07:00
Matt Aimonetti
c35c35157a
added an automated way to mark design docs as dirty after the db was reset
2009-05-27 18:16:50 -07:00
Peter Gumeson
704d0a09bd
Added attributes= to casted model and extended doc
2009-05-27 13:24:25 -07:00
Matt Aimonetti
e48a6c8866
fixed all the specs so we are back to green
2009-05-26 18:27:49 -07:00
Matt Aimonetti
2d52225a25
fixed some stuff but a lot of specs are still failing on 409s
2009-05-26 16:28:34 -07:00
Eric Watson
dff005f082
Modified CastedModel to apply defaults first
...
(so the defaults don't overwrite modified values)
Included failing (and now passing) specs
2009-05-26 15:51:30 -07:00
Eric Watson
0647307acd
Enabled apply_defaults for CastedModel
2009-05-26 15:48:04 -07:00
Eric Watson
96f8d1aa96
Fixing CastedModel bug that modified casted objects
...
Also refactored code for skipping casting of nil-valued properties
Added and re-arranged specs
2009-05-26 15:47:12 -07:00
Will Leinweber
eb160e3141
Add .count to extended documents to return how many there are.
...
Adds a reduce function to the default view so that an extra view doesn't have to be maintained just for the counting.
2009-05-26 15:43:27 -07:00
Matt Aimonetti
b89d327a61
cleaned up the design view names since we don't need to use md5 view names anymore. (we are using different revision numbers)
2009-05-17 19:34:02 -07:00
Eric Watson
406eaebfc9
Allowing save of default value for read-only property
2009-05-17 17:04:56 -07:00
Matt Aimonetti
2596df1a3d
added cascading validations for extended documents using casted models. Most code comes from nrstott's contribution
2009-05-13 22:50:29 -07:00
Matt Aimonetti
92b77a9649
fixed bulk_load/get_bulk and the specs
2009-05-13 20:44:57 -07:00
Nathan
0c0b6ecff2
added spec to show problem with validation of array of casted models
2009-05-13 20:29:44 -07:00
Matt Aimonetti
1b6ed9ce93
Merge branch 'master' of git://github.com/jchris/couchrest
...
* 'master' of git://github.com/jchris/couchrest:
added bulk_load macro
version support note
2009-05-13 12:59:42 -07:00
Chris Anderson
8363aa6298
added bulk_load macro
2009-05-08 19:00:39 -07:00
Will Leinweber
fb7b33b1a7
Specs now clean up after themselves by deleting the test databases
...
Signed-off-by: Matt Aimonetti <mattaimonetti@gmail.com>
2009-04-28 11:39:37 +08:00
Mutwin Kraus
f7bbee8243
Make "property :foo, :default => false" work
...
Before a default value of false was treated like a default of nil,
which is not the same.
Signed-off-by: Matt Aimonetti <mattaimonetti@gmail.com>
2009-04-28 11:38:00 +08:00
Mutwin Kraus
75a5018b12
Improvements for ExtendedDocument initializer
...
* Tries to send arg= to the Document before setting the attribute
Signed-off-by: Matt Aimonetti <mattaimonetti@gmail.com>
2009-04-28 11:37:59 +08:00
YAMAMOTO Yohei
6fca60ebe4
fixed a bug with CastedModel constructer calling Hash#initialize(ifnone)
...
Signed-off-by: Matt Aimonetti <mattaimonetti@gmail.com>
2009-04-28 11:32:59 +08:00
Chris Anderson
09dcc9e5c2
Revert "Server URI can now include a prefix to the database name"
...
This reverts commit 14acd95444
.
2009-03-31 12:24:04 -07:00
Geoff Buesing
5d112df1e8
Make design_doc non-inheritable. Fixes bug where views added to a child class were propagated to the parent and siblings. Child class "all" view map function now checks in guard clause for child class name instead of parent name
2009-03-27 10:35:18 -07:00
Geoff Buesing
1ee82b714c
Don't make design_doc_slug_cache and design_doc_fresh inheritable, because these settings should be specific to the class
2009-03-27 10:35:05 -07:00
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
Matt Aimonetti
4337e676ee
Merge commit 'candlerb/candlerb/design-doc' into candlerb-merge
...
* commit 'candlerb/candlerb/design-doc':
Update handler for old versions of couchdb
ClassProxy provides class-level methods on a dynamically chosen database.
Remove obsolete 'move' methods
Tidying up spec, remove unnecessary assignments to local variable
Multiple database support for ExtendedDocument.
Typo in comment
Move design_doc attributes to Mixins::DesignDoc
2009-03-27 10:21:56 -07:00
Brian Candler
c4b49baecf
ClassProxy provides class-level methods on a dynamically chosen database.
...
Examples:
db = CouchRest::Database.new(...)
articles = Article.on(db)
articles.all { ... }
articles.by_title { ... }
u = articles.get("someid")
u = articles.new(:title => "I like plankton")
u.save # saved on the correct database
2009-03-27 13:42:49 +00:00
Brian Candler
aabf097e88
Tidying up spec, remove unnecessary assignments to local variable
2009-03-27 11:44:09 +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
125689cd34
ValidationErrors#on: allow String field_name
2009-03-24 23:57:28 -07:00
Geoff Buesing
49d19e2a29
Validation inheritance: do deeper dup so that child classes don't add to the parent's validations
2009-03-24 23:56:41 -07:00
Matt Aimonetti
115cb6a7ee
fixed the subclassing of ExtendedDocument classes
2009-03-19 18:53:17 -07: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
36c8bea453
all specs pass against couchdb trunk
2009-03-15 13:00:47 -07:00
Matt
2aeb90721e
corrected some spec dependencies
2009-03-08 14:27:30 +00:00
Matt Aimonetti
5607936540
updated the callback system using Yehuda's latest version and bumped the release to make the latest fixes available
2009-03-05 23:52:48 -08:00
Matthew Ford
fdb0854859
Fix a bug where class extentions were conflicting with ActiveSupport
2009-03-05 21:19:27 -08:00
Matt Aimonetti
0250fea373
Merge branch 'master' of git://github.com/jchris/couchrest
...
* 'master' of git://github.com/jchris/couchrest:
dcnstrct says Timeout::Error is the constant we probably mean
fixed db spec
2009-03-02 22:37:36 -08:00