rubocop-github
rubocop-github copied to clipboard
New Cop: Avoid usage of `Class.descendents`
There are two reasons why this is an unreliable solution:
- it doesn't know about things that have yet to be autoloaded
- it's non-deterministic with regards to Garbage Collection of classes. If you use
Class.descendantsin Test, where there is a pattern to dynamically define classes, GC is unpredictable for when those classes are cleaned up and removed by the GC.
cc @jhawthorn
Is this still relevant with AS's DescendantsTracker and the removal of the Ruby implementation?
Yes. The reasons for not using 'descendants' are still valid regardless of how descendants is implemented.
Edit: oh sorry, didn't see this was the GitHub rubocop 🖖🏻