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.