lib/rom/sql/plugin/associates.rb in rom-sql-1.2.2 vs lib/rom/sql/plugin/associates.rb in rom-sql-1.3.0

- old
+ new

@@ -140,28 +140,24 @@ tuple.merge(fk => parent.fetch(pk)) } when Association::ManyToMany result_type = tuples.is_a?(Array) ? :many : :one - join_tuples = assoc.associate(__registry__, tuples, parent) - join_relation = assoc.join_relation(__registry__) - join_relation.multi_insert(join_tuples) + assoc.persist(__registry__, tuples, parent) - pk, fk = __registry__[assoc.target] - .associations[assoc.source] - .combine_keys(__registry__).to_a.flatten + pk, fk = assoc.parent_combine_keys(__registry__) case parent when Array parent.map do |p| - tuples.map { |tuple| tuple.merge(fk => p[pk]) } + tuples.map { |tuple| Hash(tuple).merge(fk => p[pk]) } end.flatten(1) else tuples.map { |tuple| Hash(tuple).update(fk => parent[pk]) } end when Association with_input_tuples(tuples).map { |tuple| - assoc.associate(relation.__registry__, tuple, parent) + assoc.associate(__registry__, tuple, parent) } end result_type == :one ? output_tuples[0] : output_tuples end