DEV: Refactor draft attributes for `CategoryList` and `TopicList`. (PR #9786)

Avoid repeating the same logic in a bunch of places which will allow us to make changes to the draft attributes easier in the future.

GitHub

I am fine with a refactor here but concerns … concern me … they hide where stuff is implemented I much prefer a static method here of sorts, can you refactor this elsewise?

I am fine with a refactor here but concerns … concern me … they hide where stuff is implemented I much prefer a static method here of sorts

I’m not sure I understand what the concern here with concerns are. Isn’t composition encouraged?

In this case there is no need for any kind of concern class, just have both inherit off BaseList or DraftableList?

composition if fine, but I thing using concerns is a last resort after standard inheritance can not fit the bill.

We’ve generally been avoiding inheritance and preferring composition in our codebase so I still don’t understand why including a module is not preferred here.

This is the kind of stuff that ends up being confusing with multiple inheritance.

Instead this initialize can just call the parent initializer that requires current user.