class Danger::Violation

Constants

VALID_TYPES

Attributes

sticky[RW]

Public Class Methods

new(message, sticky, file = nil, line = nil, type: :warning) click to toggle source
Calls superclass method Danger::BaseMessage::new
# File lib/danger/danger_core/messages/violation.rb, line 10
def initialize(message, sticky, file = nil, line = nil, type: :warning)
  raise ArgumentError unless VALID_TYPES.include?(type)

  super(type: type, message: message, file: file, line: line)
  self.sticky = sticky
end

Public Instance Methods

<=>(other) click to toggle source
# File lib/danger/danger_core/messages/violation.rb, line 35
def <=>(other)
  types = VALID_TYPES + [:markdown]
  order = types.index(type) <=> types.index(other.type)
  return order unless order.zero?

  compare_by_file_and_line(other)
end
==(other) click to toggle source
# File lib/danger/danger_core/messages/violation.rb, line 17
def ==(other)
  return false if other.nil?
  return false unless other.kind_of? self.class

  other.message == message &&
    other.sticky == sticky &&
    other.file == file &&
    other.line == line
end
hash() click to toggle source
# File lib/danger/danger_core/messages/violation.rb, line 27
def hash
  h = 1
  h = h * 31 + message.hash
  h = h * 13 + sticky.hash
  h = h * 17 + file.hash
  h * 17 + line.hash
end
to_s() click to toggle source
# File lib/danger/danger_core/messages/violation.rb, line 43
def to_s
  extra = []
  extra << "sticky: #{sticky}"
  extra << "file: #{file}" if file
  extra << "line: #{line}" if line
  extra << "type: #{type}"

  "Violation #{message} { #{extra.join ', '} }"
end