# File lib/guard/rspec.rb, line 45
    def run_on_change(paths)
      paths += @failed_paths if @options[:keep_failed]
      paths  = @inspector.clean(paths)

      if passed = @runner.run(paths)
        remove_failed(paths)

        # run all the specs if the run before this one failed
        if @last_failed && @options[:all_after_pass]
          @last_failed = false
          run_all
        end
      else
        @last_failed = true
        add_failed(paths)

        throw :task_has_failed
      end
    end