#new without any parameters
This commit is contained in:
@@ -253,11 +253,16 @@ module HasAuxTable
|
||||
sig { params(config: AuxTableConfig).void }
|
||||
def setup_initialize_hook!(config)
|
||||
initialize_method = self.instance_method(:initialize)
|
||||
self.define_method(:initialize) do |args, **kwargs, &block|
|
||||
self.define_method(:initialize) do |*args, **kwargs, &block|
|
||||
T.bind(self, ActiveRecord::Base)
|
||||
main_args, aux_args = config.aux.partition_by_columns(args)
|
||||
initialize_method.bind(self).call(main_args, **kwargs, &block)
|
||||
config.aux_model_for(self).assign_attributes(aux_args)
|
||||
if args && args.size == 1 && (arg = args.first).is_a?(Hash)
|
||||
main_args, aux_args = config.aux.partition_by_columns(args.first)
|
||||
initialize_method.bind(self).call(main_args, **kwargs, &block)
|
||||
config.aux_model_for(self).assign_attributes(aux_args)
|
||||
else
|
||||
initialize_method.bind(self).call(*args, **kwargs, &block)
|
||||
config.aux_model_for(self)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
Reference in New Issue
Block a user