Resurrenting a five-year-old thread... If the thread is about having a concern, and allow users to include or prepend it. It works as of now, for me at least.
[email protected]於 2016年4月7日星期四 UTC+9上午3時47分43秒寫道: > > Resurrecting a three-year-old thread... > > Is there any interest in AS::Concern better supporting prepend? I would > find it very useful. There seem to be some solid implementation ideas in > the quoted message. Did anyone ever submit as a PR? Is it worthwhile to do? > I couldn't find any existing github Issues or PR's on this. > > Jonathan > > On Saturday, June 8, 2013 at 1:47:40 PM UTC-4, Brian Cardarella wrote: >> >> Something like this would be a better implementation: >> >> https://gist.github.com/bcardarella/5735987 >> >> On Saturday, June 8, 2013 12:44:13 PM UTC-4, 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 [email protected]. To post to this group, send email to [email protected]. Visit this group at https://groups.google.com/group/rubyonrails-core. For more options, visit https://groups.google.com/d/optout.
