Skip to content
This repository has been archived by the owner on Mar 21, 2018. It is now read-only.

Commit

Permalink
style(hooks): Add flay pre-commit hook
Browse files Browse the repository at this point in the history
  • Loading branch information
pixelastic committed Jul 20, 2015
1 parent 81227c0 commit dfd3a0c
Show file tree
Hide file tree
Showing 2 changed files with 34 additions and 1 deletion.
30 changes: 30 additions & 0 deletions scripts/check_flay
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
#!/usr/bin/env ruby

MAX_SCORE = 45

flay_lines = `flay -s ./lib/`.split("\n")

errors = []
flay_lines.each_with_index do |line, index|
# Skip header
next if index < 2

pattern = /^ *(.*): (.*)/
matches = line.match(pattern)
next if matches.nil?
score = matches[1].to_f

next if score < MAX_SCORE
errors << {
score: score,
file: matches[2]
}
end

exit 0 if errors.size == 0

puts 'Flay test failed:'
errors.sort_by { |a| a[:score] }.each do |error|
puts "#{error[:score]} / #{MAX_SCORE} in #{error[:file]}"
end
exit 1
5 changes: 4 additions & 1 deletion scripts/git_hooks/pre-commit
Original file line number Diff line number Diff line change
Expand Up @@ -10,4 +10,7 @@ fi
rubocop -F './lib/' './spec' || exit 1

# No over-complex methods
./scripts/check_flog
./scripts/check_flog || exit 1

# No duplication
./scripts/check_flay

0 comments on commit dfd3a0c

Please sign in to comment.