module ViewModel::Callbacks
def inherited(subclass)
def inherited(subclass) subclass_callbacks = {} subclass.define_singleton_method(:class_callbacks) { subclass_callbacks } subclass.define_singleton_method(:all_callbacks) do |&block| return to_enum(__method__) unless block super(&block) block.call(subclass_callbacks) end end