class TestLauncher::Search::Git::Interface

Attributes

shell[R]

Public Class Methods

new(shell) click to toggle source
# File lib/test_launcher/search/git.rb, line 12
def initialize(shell)
  @shell = shell
end

Public Instance Methods

grep(regex, file_pattern) click to toggle source
# File lib/test_launcher/search/git.rb, line 20
def grep(regex, file_pattern)
  shell.run("git grep --line-number --untracked --extended-regexp #{Shellwords.escape(regex)} -- '#{file_pattern}'")
end
ls_files(pattern) click to toggle source
# File lib/test_launcher/search/git.rb, line 16
def ls_files(pattern)
  shell.run("git ls-files '*#{pattern}*'")
end
root_path() click to toggle source
# File lib/test_launcher/search/git.rb, line 24
def root_path
  shell.run("git rev-parse --show-toplevel").first.tap do
    if $? != 0
      raise NotInRepoError, "test_launcher must be used in a git repository"
    end
  end
end