Class: PreCommit::Utils

Inherits:
Object
  • Object
show all
Defined in:
lib/pre-commit/utils.rb

Class Method Summary collapse

Class Method Details

.grepObject



20
21
22
23
24
25
26
27
# File 'lib/pre-commit/utils.rb', line 20

def self.grep
  grep_version = `grep --version | head -n 1 | sed -e 's/^[^0-9.]*\([0-9.]*\)$/\1/'`
  if grep_version =~ /FreeBSD/
    "grep -EnIH"
  else
    "grep -PnIH"
  end
end

.new_files(*dirs) ⇒ Object



11
12
13
14
# File 'lib/pre-commit/utils.rb', line 11

def self.new_files(*dirs)
  @new_files ||= {}
  @new_files[dirs.join(' ')] ||= `git status --short #{dirs.join(' ')} | grep ^A | xargs`.chomp.split("A ").join(" ")
end

.reject_missing(dirs) ⇒ Object



16
17
18
# File 'lib/pre-commit/utils.rb', line 16

def self.reject_missing(dirs)
  dirs.reject { |dir| !File.exist?(dir) }
end

.staged_files(*dirs) ⇒ Object



4
5
6
7
8
9
# File 'lib/pre-commit/utils.rb', line 4

def self.staged_files(*dirs)
  dirs = reject_missing(dirs)

  @staged_files ||= {}
  @staged_files[dirs.join(' ')] ||= `git diff --cached --name-only --diff-filter=ACM #{dirs.join(' ')} | xargs`.chomp
end