The new module Merb::Session is supposed to provide a nice clean place to put session methods unique to your app. At least that was my impression. Beware! I have been migrating old code into this new structure and have been bitten several times already by the many methods in the the Session hierarchy.
CookieSession < SessionContainer < Mash < Hash There are a ton of methods being inherited here!!! Proposing that "joe user" use the Merb::Session module to just add his app specific methods is going to lead to a world of hurt for some. I think the framework mechanics of handling session objects needs to be cleanly separated from the app data and adjunct behaviors someone wants to put in a session. Just my 2 cents, but its going to be common for an app programmer to think its just fine and meaningful to his code to add methods like update() and initialize(). I had a method update() and had to go all the way up the chain to Mash to find the conflict. What a mess!!! And don't get me started on how ruby still lacks good tools for browsing code. So its key to not write such framework code when such browsing tools don't exist. Before merb added this stuff, I just rolled my own. I had a Sessions controller that didn't inherit any baggage and I added a few hooks into my Application controller to make calls to this Sessions controller. Nice and clean. This new Merb::Session module either needs a little further refactoring from the Session that uses it, or needs tons more documentation ;). As to using module mixins, I think merb needs to have (at least in dev mode) error messages for anytime a method gets clobbered or even when there is name collision from an inherited method. Otherwise, you demand the app programmer to learn all the internals of the framework to ensure they don't shoot themselves in the foot. thanks for accepting my rant here. Some of this is a rant, but I think there is a real lesson to learn. ;) Jon --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "merb" 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/merb?hl=en -~----------~----~----~----~------~----~------~--~---
