Class: PreCommit::Utils
- Inherits:
-
Object
- Object
- PreCommit::Utils
- Defined in:
- lib/pre-commit/utils.rb
Class Method Summary collapse
- .grep ⇒ Object
- .new_files(*dirs) ⇒ Object
- .reject_missing(dirs) ⇒ Object
- .staged_files(*dirs) ⇒ Object
Class Method Details
.grep ⇒ Object
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 |