I was working with some concerns and ran into an issue with calling super
from one and it led me on a wild goose chase trying to figure out if it was feasible or not. Long story short, it’s actually pretty simple.
Instead of using included do
, you can do something similar in to prepend the module. ActiveSupport::Concern handles everything when you use the included
block so you don’t actually have to add:
-
append_features
-
included
-
class_methods
It seems like a pretty small step to add a prepended
block that would handle prepend_features
along with its dependencies. Is there any interest in having this be part of ActiveSupport::Concern? I would be interested in making a PR, but first I wanted to see if anyone had an argument against it.
Here’s an old (rather short) discussion about it: https://groups.google.com/d/msg/rubyonrails-core/sSk9IEW74Ro/VNXhqg78hesJ
Thanks,
Tom