On Saturday 09 December 2006 00:16, Rich Collins wrote:
> Thanks for the links.  I think it would be fair to characterize the
> objects created by my plugin as "Presenters".

I don't think so. Presenters and Presentation Models correspond to a 
single view from which they extract as much "intelligence" as possible. 
Whereas your plugin adds very generic presentation functionality to 
model objects/classes. (Yes, I know that the methods are not 
technically added to the model, but forwarding amounts to the same.)

> I see that people are going to be hung up on the fact that the
> forwarding code is on the model instead of on the presenter.

Not me. I think it is worthwhile to explore extending model objects with 
view-specific code, *if* at the same time the different concerns of 
presentation and business logic can be kept separate.

In the meantime I had a closer look at the code included with your 
original message. There are two layers: A lower layer consisting of 
Helpable, Helper, and supporting extensions to the functionality of 
ActionView and ActionController. Basically, this layer allows to add 
methods to each individual(!) model object assigned in a template. 
Above that, there is another layer that adds the same set of helper 
methods to all AR instances indiscriminately and another set of methods 
to arrays.

What sticks out is an imbalance between the flexibility provided by the 
lower layer and what little of it the higher layer uses. If indeed no 
more flexibility is needed, then it would be a lot simpler to mix-in 
the helper methods into ActiveRecord::Base and Array and be done with 
it. OTOH, if there is a need to potentially have different 
implementations of helper methods, then the existing flexibility could 
be put to use.

Michael

-- 
Michael Schuerig
mailto:[EMAIL PROTECTED]
http://www.schuerig.de/michael/

--~--~---------~--~----~------------~-------~--~----~
 You received this message because you are subscribed to the Google Groups 
"Ruby on Rails: Core" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/rubyonrails-core?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to