|
- class WikiLine < ApplicationRecord
- has_many :wiki_revision_lines, dependent: :restrict_with_exception
-
- validates :sha256, presence: true, uniqueness: true, length: { is: 64 }
- validates :body, presence: true
-
- def self.upsert_by_body! body
- sha = Digest::SHA256.hexdigest(body)
- now = Time.current
-
- upsert({ sha256: sha, body:, created_at: now, updated_at: now })
-
- find_by!(sha256: sha)
- end
- end
|