Sha256: ea8a40b2778a7878ee1ca4be220569c29a46aea94c9caf8234a4ea715f1520fd
Contents?: true
Size: 1.19 KB
Versions: 3
Compression:
Stored size: 1.19 KB
Contents
require 'pre-commit/utils' module PreCommit class Tabs attr_accessor :staged_files, :error_message # Maintaining the functionality of `call` for backwards compatibility # Currently, the call method is expected to: # * run a check # * print any corresponding error messages if the check fails def self.call check = new check.staged_files = Utils.staged_files('*') result = check.run if !result $stderr.puts check.error_message $stderr.puts $stderr.puts 'pre-commit: You can bypass this check using `git commit -n`' $stderr.puts end result end def run # There is nothing to check if staged_files.empty? return true end if detected_bad_code? @error_message = "pre-commit: detected tab before initial space:\n" @error_message += violations @passed = false else @passed = true end end LEADING_TAB_PATTERN = '^ *\t' def detected_bad_code? system("#{Utils.grep} -q '#{LEADING_TAB_PATTERN}' #{staged_files}") end def violations `#{Utils.grep} '#{LEADING_TAB_PATTERN}' #{staged_files}` end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
pre-commit-0.8.1 | lib/pre-commit/checks/tabs.rb |
pre-commit-0.8.0 | lib/pre-commit/checks/tabs.rb |
pre-commit-0.7.0 | lib/pre-commit/checks/tabs.rb |