# File lib/puppet/util/rails/collection_merger.rb, line 2
 2:     def ar_hash_merge(db_hash, mem_hash, args)
 3:         (db_hash.keys | mem_hash.keys).each do |key|
 4:             if (db_hash[key] && mem_hash[key])
 5:                 # in both, update value
 6:                 args[:modify].call(db_hash[key], mem_hash[key])
 7:             elsif (db_hash[key])
 8:                 # in db, not memory, delete from database
 9:                 args[:delete].call(db_hash[key])
10:             else
11:                 # in mem, not in db, insert into the database
12:                 args[:create].call(key, mem_hash[key])
13:             end
14:         end
15:     end