class ChefCLI::Policyfile::Differ

def detect_cookbook_changes

def detect_cookbook_changes
  all_locked_cookbooks = old_cookbook_locks.keys | new_cookbook_locks.keys
  @added_cookbooks = []
  @removed_cookbooks = []
  @modified_cookbooks = []
  all_locked_cookbooks.each do |cb_name|
    if old_cookbook_locks.key?(cb_name) && new_cookbook_locks.key?(cb_name)
      old_cb_lock = old_cookbook_locks[cb_name]
      new_cb_lock = new_cookbook_locks[cb_name]
      if old_cb_lock != new_cb_lock
        @modified_cookbooks << cb_name
      end
    elsif old_cookbook_locks.key?(cb_name)
      @removed_cookbooks << cb_name
    elsif new_cookbook_locks.key?(cb_name)
      @added_cookbooks << cb_name
    else
      raise "Bug: cookbook lock #{cb_name} cannot be determined as new/removed/modified/unmodified"
    end
  end
end