Keep ABC size down for conditional string concatenation in Ruby
Perhaps just extracting the hash lookups would help:

def comment_event_string(comment)
  EVENT_TEXT[comment.event.to_sym]
end

def comment_reason_string(comment)
  " due to #{REASON_TEXT[comment.reason.to_sym]}"
end

def comment_text_string(comment)
  ": #{comment.text}"
end

def comment_text(comment)
  text = ''
  if comment.event.present?
    text += comment_event_string(comment)
    text += comment_reason_string(comment) if comment.reason.present?
  end
  text + comment_text_string(comment) if comment.text.present?
end


Passing comment around seems to be to be something of a code smell though, and I wonder if this code would be better placed inside the Comment class.

private def event_string
  EVENT_TEXT[event.to_sym]
end

private def reason_string
  " due to #{REASON_TEXTreason.to_sym]}"
end

private def text_string
  ": #{text}"
end

def nice_text(comment)
  nice_text = ''
  if event.present?
    nice_text += event_string
    nice_text += reason_string if reason.present?
  end
  nice_text + text_string if text.present?
end