Commit graph

109 commits

Author SHA1 Message Date
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
Johannes J. Schmidt a7ee95b33c fixed extended attachment encoding part 2
encoding was done twice, once while setting attachment
and once while saving the document.

Also the attachment was decoded while retreaving, but this is done by
CouchDB itself automatically, as described in
http://wiki.apache.org/couchdb/HTTP_Document_API#line-463.

Signed-off-by: Marcos Tapajós <tapajos@gmail.com>
2010-01-29 22:18:55 -02:00
Johannes J. Schmidt dad7e349a7 fixed set_attachment_attr
works with CouchDB 0.10.0

* use "content_type" instead of "content-type"
* do not encode attachment

Signed-off-by: Marcos Tapajós <tapajos@gmail.com>
2010-01-29 22:18:40 -02:00
Tapajós ca2faa81fe Using |property_name, property_value| instead of |key, value|. 2009-10-31 10:49:26 -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 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 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 bc6df2f5ca Adding support to :cast_as => 'Date'. 2009-09-02 23:55:55 -03: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 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
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
tc 41eeedd49b removed {:reduce => false} in #all method to make it 0.10 comp. 2009-07-26 23:33:15 -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
Matt Aimonetti 87d246d30e modified the 'all' view to emit doc ids so we can do Model.all(:keys => [1,2]) 2009-07-22 15:45:18 -07:00
Daniel Kirsch 4d4972f0de fixed class proxy design doc wreidness 2009-07-21 23:38:00 +02:00
Daniel Kirsch 3ee810010d forgot to add database to count query 2009-07-21 14:36:09 +02:00
Daniel Kirsch be7cd7442b added count to proxy 2009-07-21 14:14:58 +02:00
Peter Gumeson d85155040a Merge commit 'mattetti/master' 2009-07-20 16:21:10 -07:00
Matt Aimonetti 413a7602e8 added amount_pages to a paginated collection 2009-07-20 15:52:14 -07:00
Peter Gumeson e87c543b0f reunited some __FILE__, __LINE__ with their + 1 2009-07-19 01:23:51 -07: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
Arnaud Berthomier 142989a80d Dont die on empty results
Signed-off-by: Matt Aimonetti <mattaimonetti@gmail.com>
2009-07-18 01:44:42 +08:00
Matt Aimonetti 964526193b Optimized Model.count to run about 3x faster 2009-07-16 20:38:15 -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 42482a626a Changed pagination technique used by Collection
Modified Collection to use the pagination technique described at
http://wiki.apache.org/couchdb/How_to_page_through_results where possible.
2009-07-08 09:45:08 -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
John Wood cf76466795 Added Collection mixin.
The Collection mixin adds support for executing a view, and passing
back the view results as an Array of the given ExtendedDocument instance.
It also supports will_paginate like pagination methods (paginate, paginated_each),
which will only fetch the given set of documents from CouchDB.
2009-07-08 09:38:26 -07:00
Matt Aimonetti 9a89db44f1 fixed a commit that got reverted by accident 2009-07-08 09:28:15 -07:00
Matt Aimonetti 82090cb780 modified the timestamp parsing to run faster, making a big difference when loading huge datasets 2009-07-07 23:55:20 -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 f4f3946d86 Merged in more new callback stuff from rails 3 2009-06-13 22:41:16 -07:00
Peter Gumeson 62e8709df7 Fixed some casting issues for assigned properties 2009-06-12 12:22:58 -07:00
Seth Ladd 92d7fdb94d refactoring how casting works 2009-06-09 18:02:04 -10:00
Seth Ladd 209e36f61b cast values through setters to ensure validations are run after mass assignment, for example 2009-06-08 16:35:26 -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 806a79a72a Enabled callback halting and added copyright notices 2009-06-07 14:52:23 -07:00