I *think* he meant that a better solution would be to do it manually, and
not have the engines automagically mixin stuff for you. For example, instead
of putting all of your methods right in your app/controllers/controller.rb
file, put them in a module (lib/controller_methods.rb etc.) then "include"
and/or "extend" that module in your plugins controller class.

When a parent app uses the plugin, and overrides the
app/controllers/controller.rb file, simply "include" or "extend" the module
coming from the plugins' lib/controller_methods.rb file.

That might not be the way James meant, but it's something I did in my own
apps before I even knew about Engines. It works, and it's very clear as to
what is happening.

Hope that helps?

Matt

On Tue, Mar 3, 2009 at 9:58 PM, Andrew Roth <[email protected]> wrote:

> Hi all,
>
> I was reading James' summary of engines in rails 2.3 (
> http://rails-engines.org/news/2009/02/02/engines-in-rails-2-3/) and at the
> bottom there is
>
> "While the code mixing mechanism is quite neat, there are other ways of
> overriding the implementation of methods which are more typically Rubyish,
> and involve less magic. I’ll try and post some examples here soon."
>
> I'm wondering what those more Rubyish ways are.  I rely on mixins in a few
> of my apps, so I'm eager to learn.
>
> thanks,
> -Andrew Roth
>
> _______________________________________________
> Engine-Users mailing list
> [email protected]
> http://lists.rails-engines.org/listinfo.cgi/engine-users-rails-engines.org
>
>
_______________________________________________
Engine-Users mailing list
[email protected]
http://lists.rails-engines.org/listinfo.cgi/engine-users-rails-engines.org

Reply via email to