Sha256: 753778c415fd170d8e7d607cd11ebac559bcb0f84dadd7fcdea1f5ef1c7900b3

Contents?: true

Size: 1.32 KB

Versions: 15

Compression:

Stored size: 1.32 KB

Contents

#!/usr/bin/env ruby
output = `bundle exec chefstyle -a`
if !$?.success?
  puts "pre-commit hook: Tried to run `bundle exec chefstyle -a` to autocleanup errors, but it failed with output:"
  puts output
end

detected  = /(\d+) offenses detected/.match(output)
corrected = /(\d+) offenses corrected/.match(output)

# no errors detected by chefstyle
exit 0 if detected.nil?

# chefstyle found errors
if !detected.nil?
  # get the first result from the capture group that isn't the whole capture
  num_detected = detected.to_a[1].to_i
  num_corrected = if corrected.nil?
                    0
                  else
                    corrected.to_a[1].to_i
                  end
  if num_detected == num_corrected
    puts <<EOF
pre-commit hook: Ran `bundle exec chefstyle -a` to autocleanup errors if any existed and
#{num_detected} were detected, but all were cleaned up. `git add` all files that were
autoupdated and try commiting again. New git status:

EOF
    puts `git status`
  else
    puts <<EOF
pre-commit hook: Ran `bundle exec chefstyle -a` to autocleanup errors if any existed and
#{num_detected} were detected, but #{num_detected - num_corrected} could not be cleaned up
automatically. Run:

bundle exec chefstyle -a

to see remaining errors to clean up by hand, add all updated files, and try commiting again.
EOF
  end
  exit 1
end

Version data entries

15 entries across 15 versions & 1 rubygems

Version Path
chef-vault-3.4.0.pre.pre417 hooks/pre-commit
chef-vault-3.3.0 hooks/pre-commit
chef-vault-3.3.0.pre.pre415 hooks/pre-commit
chef-vault-3.3.0.pre.pre416 hooks/pre-commit
chef-vault-3.3.0.pre.pre414 hooks/pre-commit
chef-vault-3.2.0.pre.pre408 hooks/pre-commit
chef-vault-3.2.0.pre.pre407 hooks/pre-commit
chef-vault-3.2.0 hooks/pre-commit
chef-vault-3.1.0 hooks/pre-commit
chef-vault-3.0.3 hooks/pre-commit
chef-vault-3.0.2 hooks/pre-commit
chef-vault-3.0.1 hooks/pre-commit
chef-vault-3.0.0 hooks/pre-commit
chef-vault-3.0.0.rc2 hooks/pre-commit
chef-vault-3.0.0.rc1 hooks/pre-commit