Class: PreCommit::Checks::Perlcritic
- Inherits:
-
Plugin
- Object
- Plugin
- PreCommit::Checks::Perlcritic
- Defined in:
- lib/plugins/pre_commit/checks/perlcritic.rb
Constant Summary collapse
- FILENAME_WHITELIST_REGEXP =
/\.(pm|pl|t)\Z/
Class Method Summary collapse
Instance Method Summary collapse
- #alternate_config_file ⇒ Object
- #call(staged_files) ⇒ Object
- #config_file_flag ⇒ Object
- #perlcritic_bin ⇒ Object
- #user_supplied_flags ⇒ Object
Class Method Details
.description ⇒ Object
24 25 26 |
# File 'lib/plugins/pre_commit/checks/perlcritic.rb', line 24 def self.description "Asks Perl::Critic to critique your code" end |
Instance Method Details
#alternate_config_file ⇒ Object
40 41 42 |
# File 'lib/plugins/pre_commit/checks/perlcritic.rb', line 40 def alternate_config_file '.perlcriticrc' end |
#call(staged_files) ⇒ Object
11 12 13 14 15 16 17 18 19 20 21 22 |
# File 'lib/plugins/pre_commit/checks/perlcritic.rb', line 11 def call(staged_files) staged_files = staged_files.grep(FILENAME_WHITELIST_REGEXP) return if staged_files.empty? args = [] + config_file_flag + user_supplied_flags + staged_files stdout, stderr, status = Open3.capture3('/usr/bin/env', perlcritic_bin, *args) return 'foo' if status.success? return stdout end |
#config_file_flag ⇒ Object
28 29 30 |
# File 'lib/plugins/pre_commit/checks/perlcritic.rb', line 28 def config_file_flag config_file ? ['-profile', config_file] : [] end |
#perlcritic_bin ⇒ Object
32 33 34 |
# File 'lib/plugins/pre_commit/checks/perlcritic.rb', line 32 def perlcritic_bin config.get('perlcritic.bin') || 'perlcritic' end |
#user_supplied_flags ⇒ Object
36 37 38 |
# File 'lib/plugins/pre_commit/checks/perlcritic.rb', line 36 def user_supplied_flags Array(config.get('perlcritic.flags')).reject(&:empty?) end |