Class: Collie::Linter::Offense

Inherits:
Object
  • Object
show all
Defined in:
lib/collie/linter/base.rb

Overview

Offense representation

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(rule:, location:, message:, severity: nil, autocorrect: nil) ⇒ Offense



12
13
14
15
16
17
18
# File 'lib/collie/linter/base.rb', line 12

def initialize(rule:, location:, message:, severity: nil, autocorrect: nil)
  @rule = rule
  @location = location
  @message = message
  @severity = severity || rule.severity
  @autocorrect = autocorrect
end

Instance Attribute Details

#autocorrectObject (readonly)

Returns the value of attribute autocorrect.



10
11
12
# File 'lib/collie/linter/base.rb', line 10

def autocorrect
  @autocorrect
end

#locationObject (readonly)

Returns the value of attribute location.



10
11
12
# File 'lib/collie/linter/base.rb', line 10

def location
  @location
end

#messageObject (readonly)

Returns the value of attribute message.



10
11
12
# File 'lib/collie/linter/base.rb', line 10

def message
  @message
end

#ruleObject (readonly)

Returns the value of attribute rule.



10
11
12
# File 'lib/collie/linter/base.rb', line 10

def rule
  @rule
end

#severityObject (readonly)

Returns the value of attribute severity.



10
11
12
# File 'lib/collie/linter/base.rb', line 10

def severity
  @severity
end

Instance Method Details

#autocorrectable?Boolean



20
21
22
# File 'lib/collie/linter/base.rb', line 20

def autocorrectable?
  !@autocorrect.nil?
end

#to_sObject



24
25
26
# File 'lib/collie/linter/base.rb', line 24

def to_s
  "#{location}: #{severity}: [#{rule.rule_name}] #{message}"
end