Я не уверен, что понимаю. Если вы хотите удалить дублирующиеся структуры, которые имеют одного и того же пользователя в array_of_struct1, используйте:
array_of_structs1 = Hash[*array_of_structs1.map {|obj| [obj.user, obj]}.flatten].values
Если вы не хотите удалять записи из массива1, которые также находятся в массиве 2, используйте
array_of_structs1 = array_of_structs1 - array_of_struct2