What is the purpose of using a Struct? ActiveRecord objects already have setter and getter methods. you can just use a normal array and either uniq it or use Array#| (the set union operator) like @collection | @new_records to save a bit.
Also note that a Hash is unordered.
Regards,
Rein