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

module Ci
  class PipelineMessage < Ci::ApplicationRecord
    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