class Guard::Minitest::Inspector

Attributes

test_file_patterns[R]
test_folders[R]

Public Class Methods

new(test_folders, test_file_patterns) click to toggle source
# File lib/guard/minitest/inspector.rb, line 8
def initialize(test_folders, test_file_patterns)
  @test_folders = test_folders.uniq.compact
  @test_file_patterns = test_file_patterns.uniq.compact
end

Public Instance Methods

all_test_files() click to toggle source
# File lib/guard/minitest/inspector.rb, line 32
def all_test_files
  @all_test_files ||= _test_files_for_paths
end
clean(paths) click to toggle source
# File lib/guard/minitest/inspector.rb, line 17
def clean(paths)
  paths.reduce([]) do |memo, path|
    if File.directory?(path)
      memo += _test_files_for_paths(path)
    else
      memo << path if _test_file?(path)
    end
    memo
  end.uniq
end
clean_all() click to toggle source
# File lib/guard/minitest/inspector.rb, line 13
def clean_all
  clean(test_folders)
end
clear_memoized_test_files() click to toggle source
# File lib/guard/minitest/inspector.rb, line 28
def clear_memoized_test_files
  @all_test_files = nil
end

Private Instance Methods

_join_for_glob(fragments) click to toggle source
# File lib/guard/minitest/inspector.rb, line 49
def _join_for_glob(fragments)
  "{#{fragments.join(',')}}"
end
_test_file?(path) click to toggle source
# File lib/guard/minitest/inspector.rb, line 45
def _test_file?(path)
  _test_files_for_paths.include?(path)
end
_test_files_for_paths(paths = test_folders) click to toggle source
# File lib/guard/minitest/inspector.rb, line 38
def _test_files_for_paths(paths = test_folders)
  paths = _join_for_glob(Array(paths))
  files = _join_for_glob(test_file_patterns)

  Dir["#{paths}/**/#{files}"]
end