drapergem/draper — pull request #361 by haines (2012-12-02 14:53:40+00:00)
Title: Bring back decorates

Added the suggestions made in #356 to #358.

Summary:
`decorates` is back, but is optional. If it is not used, the source class is inferred from the decorator name.

`has_finders` is now `decorates_finders`. If a finder method is used, and the source class is not set and cannot be inferred, an `UninferrableSourceError` is raised.

Class methods are proxied to the source class if is set or can be inferred. Otherwise `.respond_to?` returns false and `.method_missing` throws a `NoMethodError`, as would be normally expected for a missing method.