Top Level Namespace
Defined Under Namespace
Modules: Codeqa
Constant Summary collapse
- APP_ROOT =
Pathname.new(File.(File.join(File.dirname(__FILE__),'..','..')))
- HOOKS_PATH =
APP_ROOT.join('.codeqa','hooks')
Instance Method Summary collapse
- #binary?(file) ⇒ Boolean
-
#staged_files ⇒ Object
running codeqa checks on changes files.
Instance Method Details
#binary?(file) ⇒ Boolean
20 21 22 23 24 |
# File 'lib/templates/base_hook.rb', line 20 def binary?(file) return true if File.ftype(file) != 'file' s = (File.read(file, File.stat(file).blksize) || '').split(//) ((s.size - s.grep(' '..'~').size) / s.size.to_f) > 0.30 end |
#staged_files ⇒ Object
running codeqa checks on changes files
5 6 7 8 9 10 11 12 13 14 15 16 17 |
# File 'lib/templates/base_hook.rb', line 5 def staged_files @staged_files ||= begin files = `git diff --cached --name-only --diff-filter=ACM`.split files.reject do |f| if File.ftype(f) != 'file' true else size = File.size(f) size > 1_000_000 || (size > 20 && binary?(f)) end end end end |