Wouldn't be better to save conformity and rename abstract methods?
Ruby provide follow method private - for instances, private_class_method for class methods.
I think it would be better to rename abstract methods using that schema.
-
abstract_method->abstract -
abstract_singleton_method->abstract_class_method
I know, that change cause refactoring of datamapper code. But for a long term it should be "done right" from my perspective.
What do you think?
The refactoring need would not be an issue from my POV. We could have a transition period where the old one still works but emits deprecated noticed.
What I don't like in this proposal is the "class_method" nameing. I typically use the world singleton where subject is a class or a module. abstract_method -> abstract is okay from my side. I like single word names more.
This is matter of taste, but I usually use singleton related to methods defined on instances created through .new method (.allocate works as well). And class methods for methods defined inside classes.
Sure in Ruby this both approaches make sense because classes are objects as well.
And sure decision whether to use class_method or singleton_method on your side. I just suggest to follow language approach in this to follow a bunch of principles and for conformity sake.