invoke initialize blocks

This commit is contained in:
Dylan Knutson
2025-07-17 20:59:39 +00:00
parent 296134af52
commit b5a4332a1d
2 changed files with 14 additions and 2 deletions

View File

@@ -262,11 +262,11 @@ module HasAuxTable
sig { params(aux_config: AuxTableConfig).void }
def setup_initialize_hook!(aux_config)
initialize_method = self.instance_method(:initialize)
self.define_method(:initialize) do |args|
self.define_method(:initialize) do |args, **kwargs, &block|
T.bind(self, ActiveRecord::Base)
aux_args, main_args =
args.partition { |k, _| aux_config.is_aux_column?(k) }.map(&:to_h)
initialize_method.bind(self).call(main_args)
initialize_method.bind(self).call(main_args, **kwargs, &block)
aux_config.assign_aux_attributes(self, aux_args)
end
end