Tapajós
ca2faa81fe
Using |property_name, property_value| instead of |key, value|.
2009-10-31 10:49:26 -02:00
Tapajós
1315d65681
Using |attribute_name, attribute_value| instead of |k,v|.
2009-10-31 10:42:36 -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
Julien Sanchez
b5d6baaf11
Save on Document & ExtendedDocument crashed if bulk
...
- document#save expects to receive {"ok" => true} even with bulk mode
- ExtendedDocument#save_without_callbacks reverted to previous code
(expecting result["ok"] as in create_without_callbacks)
2009-10-18 01:59:31 +08: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
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
5219f3c0d5
Updating the version number
2009-09-03 00:09:16 -03:00
Tapajós
bc6df2f5ca
Adding support to :cast_as => 'Date'.
2009-09-02 23:55:55 -03:00
Matt Aimonetti
ccdf9d779a
removed the Database class deprecation notices
2009-08-24 17:32:34 -07:00
Matt Aimonetti
a3cc649616
last touch up before merging all the 0.4 changes
2009-08-24 17:12:13 -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
Luke Burton
2057e59777
To address http://github.com/couchrest/couchrest/issues/#issue/2 , we simply remove the check on the value returned by database.save_doc. Errors from RestClient or CouchDB itself will be propagated as exceptions, which an upstream client should handle for themselves.
2009-08-20 12:25:12 -07:00
Peter Gumeson
44d02c4b32
Rails logger is no longer needed.
2009-08-16 21:19:45 -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
6811745a32
bumped the version number to 0.33
2009-08-03 12:23:13 -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
9141669df1
extracted the rest API to its own module
2009-07-29 18:32:34 -07:00
Matt Aimonetti
ac3d0a988f
added a Rack logger middleware
2009-07-27 00:14:38 -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
dd480bcd75
bumped version to 0.32
2009-07-22 16:54:28 -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
Peter Wagenet
153ce54b1e
Added ValidationErrors#count in order to play nicely with Rails
2009-07-21 23:26:24 -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
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
e27135cb1e
Fixed required_field_validator to behave correctly with boolean fields
2009-07-21 03:18:07 +06:00
wildchild
16d9e819d7
Added typecasting of properties
2009-07-21 03:17:27 +06:00
Matt Aimonetti
0a4f7e0607
bumping the release version before breaking the API in 0.4
2009-07-19 17:14:06 -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
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
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
Matt Aimonetti
bd1b114930
bumped version to 0.30 and added history.txt + pagination doc in the readme
2009-07-08 11:54:06 -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
Seth Falcon
3e2b3ece46
Timeout::TimeoutError does not exist, use Timeout::Error instead
...
Also added a require for 'timeout' that contains this code. Easy to get
confused as there is an alias TimeoutError:
irb(main):001:0> require 'timeout'
=> true
irb(main):002:0> TimeoutError
=> Timeout::Error
irb(main):003:0> Timeout::Error
=> Timeout::Error
irb(main):004:0> Timeout::TimeoutError
NameError: uninitialized constant Timeout::TimeoutError
from (irb):4
2009-07-08 09:32:43 -07:00
Matt Aimonetti
9a89db44f1
fixed a commit that got reverted by accident
2009-07-08 09:28:15 -07:00
Rob Kaufman
baabe40674
Fixed validates_is_numeric when dealing with an actual float
2009-07-08 09:17:07 -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
a47de6aaf5
Tidying up rails support
2009-06-13 14:51:15 -07:00
Peter Gumeson
62e8709df7
Fixed some casting issues for assigned properties
2009-06-12 12:22:58 -07:00
Peter Gumeson
cdf998b185
Merge commit 'sethladd/master'
2009-06-12 12:17:15 -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
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
130fdd16dd
cosmetic cleanup
2009-06-08 16:34:52 -10:00
Seth Ladd
ffceaec57d
add silent settings for created_at and updated_at, allows for mass assignment with semantics that match rails
2009-06-08 16:34:21 -10:00
Seth Ladd
31180f6bc7
require the rails support
2009-06-08 11:52:02 -10:00
Seth Ladd
36f69ec332
check if Rails exists for the rails support
2009-06-08 11:48:15 -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
Peter Gumeson
dc4787e905
Integrated Yehuda's new callback code from rails
2009-06-07 02:57:22 -07:00
Peter Gumeson
1c6e073b47
Added logger to rails support
2009-06-07 02:51:50 -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
d012380b67
Added helper for accessing the top level document. And more rails compatibility.
2009-05-28 22:42:30 -07:00
Peter Gumeson
936ce54449
Merge branch 'mattetti/master'
2009-05-28 22:31:20 -07:00
Matt Aimonetti
f1b2315524
bumped the release because of github *sigh*
2009-05-28 19:43:55 -07:00
Matt Aimonetti
28df50daca
minor text edit, trying to get github to build the gem
2009-05-28 19:41: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
3e4c90f104
Fixed a comment
2009-05-28 17:00:06 -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
5e0632c1d0
removed ObjectSpace usage
2009-05-28 10:36:25 -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