Hi,
Its been a while, but I've finally made the time to cook up a new version of Couchrest Model: 1.2.0.beta.
Its a major release as there are a few breaking changes. Unless you've been using the "design blocks" to create your views, you will no longer be able to use this version. Allow me to explain.
The design doc handling has been completely refactored so that it works in a much more object-orientated fashion and is far easier to understand. Design blocks (or definitions) can now be properly inherited by submodules and models can have multiple design docs. The side effect of this is that all the old `view_by`, `view`, `has_view?` and missing methods seemed pointless to continue maintaining. Some people are likely to be set back by this change, but I hope you'll try the new approach and see that it is easier and less confusing for newbies.
Another important difference is that if a view is not described in the design block, you will not be able to access it from couchrest model! Fortunately, there are ways to get around this, for example:
design do
disable_auto_update
view :by_name, :reduce => true
end
The new `disable_auto_update` ensures this design block is never written to or requested from the database. This means that CouchRest is unable to see if a view exists, or more importantly if it has a reduce method. Setting `:reduce => true` in the view definition gets around this problem and prevents those annoying 400 errors on queries that need the "reduce=false" parameter.
Aside from the design blocks, there are also a few other fixes like Rails 3.2 support and Time now includes fractions (super import for indexes).
Please give it a try and let me know how it goes!
sam