summaryrefslogtreecommitdiff
path: root/app/models/ci/pipeline_message.rb
blob: a47ec554462496031edccda02289a6bc7427bdf0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# frozen_string_literal: true

module Ci
  class PipelineMessage < ApplicationRecord
    extend Gitlab::Ci::Model

    MAX_CONTENT_LENGTH = 10_000

    belongs_to :pipeline

    validates :content, presence: true

    before_save :truncate_long_content

    enum severity: { error: 0, warning: 1 }

    private

    def truncate_long_content
      return if content.length <= MAX_CONTENT_LENGTH

      self.content = content.truncate(MAX_CONTENT_LENGTH)
    end
  end
end