def message(*messages, **options)
      sticky = options.fetch(:sticky, false)
      file = options.fetch(:file, nil)
      line = options.fetch(:line, nil)

      messages.flatten.each do |message|
        @messages << Violation.new(message, sticky, file, line) if message
      end
    end
def message(*messages, **options)
      sticky = options.fetch(:sticky, false)
      file = options.fetch(:file, nil)
      line = options.fetch(:line, nil)

      messages.flatten.each do |message|
        @messages << Violation.new(message, sticky, file, line) if message
      end
    end
@!group Core
 Print out a generate message on the PR

 @param    [String, Array<String>] message
           The message to present to the user
 @param    [Boolean] sticky
           Whether the message should be kept after it was fixed,
           defaults to `false`.
 @param    [String] file
           Optional. Path to the file that the message is for.
 @param    [String] line
           Optional. The line in the file to present the message in.
 @return   [void]