module Guard

def _relevant_changes?(changes)

TODO: why iterate twice? reuse this info when running tasks
Check if any of the changes are actually watched for
def _relevant_changes?(changes)
  # TODO: no coverage!
  files = changes.values.flatten(1)
  scope = Guard.state.scope
  watchers = scope.grouped_plugins.map do |_group, plugins|
    plugins.map(&:watchers).flatten
  end.flatten
  watchers.any? { |watcher| files.any? { |file| watcher.match(file) } }
end