# 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