class Guard::Internals::Queue
def process
def process actions = [] changes = { modified: [], added: [], removed: [] } while pending? if (item = @queue.pop).first.is_a?(Symbol) actions << item else item.each { |key, value| changes[key] += value } end end _run_actions(actions) return if changes.values.all?(&:empty?) Runner.new.run_on_changes(*changes.values) end