このコミットが含まれているのは:
2026-10-04 17:23:44 +09:00
コミット 6f2f56b7b4
4個のファイルの変更、156行の追加、22行の削除
+23 -22
ファイルの表示
@@ -8,6 +8,15 @@ module Wiki
end
def self.create_content! tag_name:, body:, created_by_user:, message: nil
if tag_name.tag && tag_name.language_code == 'ja'
return TagDescriptionOperation.create!(
tag: tag_name.tag, body:, created_by_user:, message:)
end
create_legacy_content!(tag_name:, body:, created_by_user:, message:)
end
def self.create_legacy_content! tag_name:, body:, created_by_user:, message: nil
normalised = normalise_body(body)
page = WikiPage.new(tag_name:,
@@ -33,6 +42,20 @@ module Wiki
end
def self.content! page:, body:, created_user:, message: nil, base_revision_id: nil
tag = page.tag_name.tag
description = tag && page.tag_name.language_code == 'ja' &&
TagDescription.find_by(tag_id: tag.id, language_code: 'ja')
if tag && page.tag_name.language_code == 'ja'
return TagDescriptionOperation.update!(
description:, page:, body:, updated_by_user: created_user,
message:, base_revision_id:)
end
legacy_content!(page:, body:, created_user:, message:, base_revision_id:)
end
def self.legacy_content! page:, body:, created_user:, message: nil,
base_revision_id: nil
new(page:, created_user:).content!(body:, message:, base_revision_id:)
end
@@ -93,8 +116,6 @@ module Wiki
{ wiki_revision_id: rev.id, wiki_line_id: line_id, position: pos }
end
WikiRevisionLine.insert_all!(rows) if rows.any?
record_description!(rev, normalised)
rev
end
end
@@ -110,26 +131,6 @@ module Wiki
private
def record_description! revision, body
tag = @page.tag_name.tag
return unless tag && @page.tag_name.language_code == 'ja'
tag.lock!
description = TagDescription.lock.find_by(tag_id: tag.id, language_code: 'ja')
version_no = description ? description.version_no + 1 : 1
TagDescriptionVersion.create!(
id: revision.id, tag_id: tag.id, language_code: 'ja', version_no:,
event_type: description ? 'update' : 'create', body:,
created_by_user_id: @created_user.id, created_at: revision.created_at)
if description
description.update!(body:, version_no:, updated_by_user_id: @created_user.id)
else
TagDescription.create!(
id: @page.id, tag_id: tag.id, language_code: 'ja', version_no:, body:,
created_by_user_id: @created_user.id, updated_by_user_id: @created_user.id)
end
end
def split_lines(body) = body.split("\n")
def upsert_lines! lines, line_shas