Sha256: 713837a9a28347810592177015b132794237fa4c734b574f2988c9b98c005411
Contents?: true
Size: 1.13 KB
Versions: 2
Compression:
Stored size: 1.13 KB
Contents
module Retest class Repository attr_accessor :files, :cache, :prompt def initialize(files: [], cache: {}, prompt: nil) @cache = cache @files = files @prompt = prompt || Prompt.new end def find_test(path) return unless path return if path.empty? @path = path cache[@path] ||= select_from MatchingOptions.for(@path, files: files) end def find_tests(paths) paths .select { |path| Regexp.new("\.rb$") =~ path } .map { |path| find_test(path) } .compact .uniq .sort end def sync(added:, removed:) add(added) remove(removed) end def add(added) return if added&.empty? files.push(*added) files.sort! end def remove(removed) return if removed&.empty? if removed.is_a?(Array) removed.each { |file| files.delete(file) } else files.delete(removed) end end private def select_from(tests) case tests.count when 0, 1 tests.first else prompt.ask_which_test_to_use(@path, tests) end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
retest-1.12.0 | lib/retest/repository.rb |
retest-1.11.0 | lib/retest/repository.rb |