Currently it relies on a call chain #initialize -> #freeze that returns self.
However, overriding constructor in a custom subclass and returning something else breaks updated.
Included a test case. Without my fix updated returns nil.
Coverage remained the same at 100.0% when pulling 239014d77e0ce877132d7e1fe1bd203892991aa8 on iliabylich:fix-updated-method-for-subclasses into 05d232169ba36095bfb868157b01dd206b9c277b on whitequark:master.
Currently it relies on a call chain #initialize -> #freeze that returns
self
. However, overriding constructor in a custom subclass and returning something else breaksupdated
.Included a test case. Without my fix
updated
returnsnil
.