class ERBLint::Offense

Defines common functionality available to all linters.

Attributes

context[R]
linter[R]
message[R]
severity[R]
source_range[R]

Public Class Methods

new(linter, source_range, message, context = nil, severity = nil) click to toggle source
# File lib/erb_lint/offense.rb, line 8
def initialize(linter, source_range, message, context = nil, severity = nil)
  unless source_range.is_a?(Parser::Source::Range)
    raise ArgumentError, "expected Parser::Source::Range for arg 2"
  end
  @linter = linter
  @source_range = source_range
  @message = message
  @context = context
  @severity = severity
end

Public Instance Methods

==(other) click to toggle source
# File lib/erb_lint/offense.rb, line 26
def ==(other)
  other.class <= ERBLint::Offense &&
    other.linter == linter &&
    other.source_range == source_range &&
    other.message == message &&
    other.severity == severity
end
column() click to toggle source
# File lib/erb_lint/offense.rb, line 42
def column
  source_range.column
end
inspect() click to toggle source
# File lib/erb_lint/offense.rb, line 19
def inspect
  "#<#{self.class.name} linter=#{linter.class.name} "\
    "source_range=#{source_range.begin_pos}...#{source_range.end_pos} "\
    "message=#{message}> "\
    "severity=#{severity}"
end
line_number() click to toggle source
# File lib/erb_lint/offense.rb, line 38
def line_number
  line_range.begin
end
line_range() click to toggle source
# File lib/erb_lint/offense.rb, line 34
def line_range
  Range.new(source_range.line, source_range.last_line)
end