synth/classy_enum — comment on commit e98890a669b942bfb11307bfaf061138c3be54c7
File:  line 0
By synth:

1st: I abstracted out the options
2nd: I created utility methods using class variables in order to keep track of certain things like the owning class, and the counter
3rd: I modified the enum_classes class method to jump out if "subclassed => true" is passed. This will skip creating the class constants and let most behavior come down from the parent class.
4th: The extra behavior comes from the inherited callback where I tack on the extra behavior that was normally added in enum_classes.

So, if you are subclassing, you do the following:
1. don't use classy_enum_attr in the owning class
2. add :subclassed => true to the enum_classes array inside your ClassyEnum::Base subclass.

that's it. There's probably a better way, but I spent too long just trying to get it to work this, so I must move on. I'll make changes if I find bugs or improvements along the way.