Skip to content

Instantly share code, notes, and snippets.

@americodls
Forked from mpeteuil/rubocop_pre_commit_hook
Created October 31, 2017 19:34
Show Gist options
  • Select an option

  • Save americodls/01251ebd5e425703118c665382216ad2 to your computer and use it in GitHub Desktop.

Select an option

Save americodls/01251ebd5e425703118c665382216ad2 to your computer and use it in GitHub Desktop.

Revisions

  1. @mpeteuil mpeteuil created this gist Aug 3, 2013.
    21 changes: 21 additions & 0 deletions rubocop_pre_commit_hook
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,21 @@
    #!/usr/bin/env ruby

    require 'english'
    require 'rubocop'

    ADDED_OR_MODIFIED = /A|AM|^M/.freeze

    changed_files = `git status --porcelain`.split(/\n/).
    select { |file_name_with_status|
    file_name_with_status =~ ADDED_OR_MODIFIED
    }.
    map { |file_name_with_status|
    file_name_with_status.split(' ')[1]
    }.
    select { |file_name|
    File.extname(file_name) == '.rb'
    }.join(' ')

    system("rubocop #{changed_files}") unless changed_files.empty?

    exit $CHILD_STATUS.to_s[-1].to_i