module Brakeman::Messages

def msg *args

Strings are converted to Brakeman::Messages::Plain objects.
Create a new message from a list of messages.
def msg *args
  parts = args.map do |a|
    if a.is_a? String
      Plain.new(a)
    else
      a
    end
  end
  Message.new(*parts)
end

def msg_code code

Create a new code message fragment
def msg_code code
  Code.new code
end

def msg_cve cve

Create a new message fragment with a CVE identifier
def msg_cve cve
  CVE.new cve
end

def msg_file str

Create a new message fragment representing a file name
def msg_file str
  Messages::FileName.new str
end

def msg_input input

The input type will be converted to a friendly version (e.g. "parameter value").
Create a new message fragment from a user input type (e.g. `:params`).
def msg_input input
  Input.new input
end

def msg_lit str

Create a new message fragment which will not be modified during output
def msg_lit str
  Literal.new str
end

def msg_plain str

Create a new plain string message fragment
def msg_plain str
  Plain.new str
end

def msg_version version, lib = "Rails"

Create a message fragment representing the version of a library
def msg_version version, lib = "Rails"
  Version.new version, lib
end