Created
December 15, 2017 20:21
-
-
Save SViccari/36d62bb9d534cba667fa7162af735bd9 to your computer and use it in GitHub Desktop.
Run rubocop against current branch commits that differ from master
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/sh | |
# | |
# Check for ruby style errors | |
red='\033[0;31m' | |
green='\033[0;32m' | |
yellow='\033[0;33m' | |
NC='\033[0m' | |
if git rev-parse --verify HEAD >/dev/null 2>&1 | |
then | |
against=HEAD | |
else | |
echo "Initial commit: diff against an empty tree object" | |
fi | |
# Check if rubocop is installed for the current project | |
rubocop -v >/dev/null 2>&1 || { echo >&2 "${red}[Ruby Style][Fatal]: Add rubocop to your Gemfile"; exit 1; } | |
# Find all files that have been changed in comparison to master branch | |
FILES="$(git diff master --name-only)" | |
echo "${green}[Ruby Style][Info]: Checking Ruby Style${NC}" | |
if [ -n "$FILES" ] | |
then | |
echo "${green}[Ruby Style][Info]: Checking Files:\n${FILES}${NC}" | |
if [ ! -f '.rubocop.yml' ]; then | |
echo "${yellow}[Ruby Style][Warning]: No .rubocop.yml config file.${NC}" | |
fi | |
# Run rubocop on the files | |
rubocop ${FILES} | |
if [ $? -ne 0 ]; then | |
echo "${red}[Ruby Style][Error]: Fix the issues and commit again${NC}" | |
exit 1 | |
fi | |
else | |
echo "${green}[Ruby Style][Info]: No files to check${NC}" | |
fi | |
exit 0 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment