Sha256: 0e4acdd6dcf9e3716e879e077bcf57f96a0e96ead893a2a172e7d84c7c93f78f

Contents?: true

Size: 827 Bytes

Versions: 4

Compression:

Stored size: 827 Bytes

Contents

# encoding: utf-8

module Rubocop
  module Cop
    class Offence
      attr_accessor :severity, :line_number, :message

      SEVERITIES = [:refactor, :convention, :warning, :error, :fatal]

      def initialize(severity, line_number, message)
        @severity = severity
        @line_number = line_number
        @message = message
      end

      def to_s
        # we must be wary of messages containing % in them
        sprintf("#{encode_severity}:%3d: #{message.gsub(/%/, '%%')}",
                line_number)
      end

      def encode_severity
        @severity.to_s[0].upcase
      end

      def ==(other)
        severity == other.severity && line_number == other.line_number &&
          message == other.message
      end

      def explode
        [severity, line_number, message]
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
rubocop-0.8.3 lib/rubocop/cop/offence.rb
rubocop-0.8.2 lib/rubocop/cop/offence.rb
rubocop-0.8.1 lib/rubocop/cop/offence.rb
rubocop-0.8.0 lib/rubocop/cop/offence.rb