Class: RakeCommandFilter::RubocopCommandDefinition

Inherits:
RakeCommandDefinition show all
Defined in:
lib/rubocop_command_definition.rb

Overview

default way to run rubocop and parse its output

Instance Attribute Summary

Attributes inherited from RakeCommandDefinition

#test_command

Attributes inherited from CommandDefinition

#default_line_handling, #filter, #name

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from RakeCommandDefinition

#execute

Methods inherited from CommandDefinition

#add_filter, #add_parameter, #execute, find_worst_result

Constructor Details

#initialize(id = :rubocop) ⇒ RubocopCommandDefinition

Default parser for rubocop output.

Parameters:

  • id (defaults to: :rubocop)

    override this if you want to do something other than ‘rake rubocop’



16
17
18
19
20
21
22
23
24
25
26
27
# File 'lib/rubocop_command_definition.rb', line 16

def initialize(id = :rubocop)
  super(id, 'rubocop')

  # just use sensible defaults here.
  add_filter(:offenses_filter, /(\d+)\s+file.*,\s+(\d+)\s+offense/) do |matches|
    result_failure(RubocopCommandDefinition.failure_msg(matches[1], matches[0]))
  end

  add_filter(:no_offenses_filter, /(\d+)\s+file.*,\s+no\s+offenses/) do |matches|
    result_success(RubocopCommandDefinition.success_msg(matches[0]))
  end
end

Class Method Details

.failure_msg(offenses, files) ⇒ Object

used for testing



5
6
7
# File 'lib/rubocop_command_definition.rb', line 5

def self.failure_msg(offenses, files)
  "#{offenses} offenses in #{files} files"
end

.success_msg(files) ⇒ Object

used for testing



10
11
12
# File 'lib/rubocop_command_definition.rb', line 10

def self.success_msg(files)
  "#{files} files"
end