Module: Puppet::Util::CollectionMerger
- Included in:
- Rails::Host, Rails::ParamName, Rails::Resource
- Defined in:
- lib/vendor/puppet/util/rails/collection_merger.rb
Instance Method Summary collapse
Instance Method Details
#ar_hash_merge(db_hash, mem_hash, args) ⇒ Object
2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
# File 'lib/vendor/puppet/util/rails/collection_merger.rb', line 2 def ar_hash_merge(db_hash, mem_hash, args) (db_hash.keys | mem_hash.keys).each do |key| if (db_hash[key] && mem_hash[key]) # in both, update value args[:modify].call(db_hash[key], mem_hash[key]) elsif (db_hash[key]) # in db, not memory, delete from database args[:delete].call(db_hash[key]) else # in mem, not in db, insert into the database args[:create].call(key, mem_hash[key]) end end end |