class Guard::RSpec::Inspectors::KeepingInspector

along with any new paths passed as parameter to #paths
returns that paths in future calls to #paths method
Inspector that remembers all failed paths and

def _location_path(location)

Extract file path from location
def _location_path(location)
  location.match(%r{^(\./)?(.*?)(:\d+)?$})[2]
end

def _with_failed_locations(paths)

Do not include location in result if its path is already included.
Return paths + failed locations.
def _with_failed_locations(paths)
  failed_paths = failed_locations.map { |l| _location_path(l) }
  (paths | failed_paths).uniq
end

def failed(locations)

def failed(locations)
  @failed_locations = locations
end

def initialize(options = {})

def initialize(options = {})
  super
  @failed_locations = []
end

def paths(paths)

def paths(paths)
  _with_failed_locations(_clean(paths))
end

def reload

def reload
  @failed_locations = []
end