Whilst this discussion was started quite a few years ago, it is still or 
again relevant, now that Rails 5 has deprecated `alias_method_chain` and in 
the meantime we've entered the realm of Rails 6.

There is no good way to prepend a concern to an existing class in Rails. 
This while there are quite a few cases in which it would make sense to wrap 
user-defined code in some concern-defined (e.g. library-defined) way.

What are your current thoughts about this?

~Wiebe-Marten ("Marten")  Wijnja / Qqwy

On Saturday, June 8, 2013 at 6:44:13 PM UTC+2, Brian Cardarella wrote:
>
> I've monkey patched this behavior into a gem and I was wondering if core 
> would be interested in a PR to add Module#prepend support to 
> ActiveSupport#Concern. I'll add tests of course.
>
> The code is here:
>
>
> https://github.com/dockyard/easy_auth/blob/master/lib/easy_auth/active_support/concern.rb
>
> My monkey patch work for what I'm trying to do but I suspect a better 
> implementation would actually have @_dependencies be an array of arrays 
> with each set being the module in the first element then :include or 
> :prepend in the send. Then when `append_features` or `prepend_features` 
> iterates over @_dependencies the send element will be used to call the 
> proper inclusion method.
>
> The only wild card is how ClassMethods will get extended. My understanding 
> is that extend will append class methods to the base class. I cannot seem 
> to find a prepend version of extend.
>
> Thoughts?
>

-- 
You received this message because you are subscribed to the Google Groups "Ruby 
on Rails: Core" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to rubyonrails-core+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/rubyonrails-core/5706bacf-e4f3-40df-a24d-1a0f402d9b7c%40googlegroups.com.

Reply via email to