#!/usr/bin/env ruby require 'rubocop' changed_files = `git diff --name-only --cached`.split(/\n/). select { |file_name| file_name.end_with?(".rb") || file_name.match?(/^Gemfile/) }.join(' ') `git stash --keep-index` system("bundle exec rubocop -c .rubocop.yml '#{changed_files}'") unless changed_files.empty? exit_status = $CHILD_STATUS.exitstatus `git stash pop` exit exit_status