Release Name: 0.4
Notes:
Hammock is a Rails plugin that eliminates redundant code in a very RESTful manner. It does this in lots in lots of different places, but in one manner: it encourages specification in place of implementation.
Hammock enforces RESTful resource access by abstracting actions away from the controller in favour of a clean, model-like callback system.
Hammock tackles the hard and soft sides of security at once with a scoping security system on your models. Specify who can verb what resources under what conditions once, and everything else - the actual security, link generation, index filtering - just happens.
Hammock inspects your routes and resources to generate a routing tree for each resource. Parent resources in a nested route are handled transparently at every point - record retrieval, creation, and linking.
It makes more sense when you see how it works though. There's a screencast coming soon.
Changes:
== 0.4 2009-10-05
Fix #link_class_for to handle multiple entities.
Use SELECT DISTINCT in #suggest to eliminate duplicates caused by JOINs.
Add opts[:limit] and opts[:order] to #suggest.
In String@normalize_for_display, convert ð to d instead of o.
Rename String#normalize to #normalize_for_display, and add #normalize, which doesn't process æ etc.
Added explicit conversions for æ and ð to String#normalize.
Added String#normalize.
In Array#hash_by, treat :self as a special case.
Messy: include utils.rb before others, since it needs to be available at require time for model_logging.rb.
Namespace col names in AR::Base#suggest with table_name, to stop cols from JOINs trampling on cols we want.
In jquery_xhr's html response_action, don't attempt replacement when the target obj wasn't assigned.
In #status_callback, jQuerify the response directly instead of trying to look it up in the DOM.
Added JSON responder to #suggest, along side the existing HTML one.
Updated #can_verb_*? methods to accept any number of entities.
Updated #ajax_button, #ajax_link and #ajaxinate to accept entity arrays instead of single records.
Updated ActiveRecord::Base.suggest to rank results by position in each field of earliest query word occurrence, in supplied field order.
Added AR::Base#without_timestamps.
Changed default sort order to updated_at descending.
Added after_find callback.
|