ヘルプを Wiki から分離 (#424) (#430)

画面上でのテストは完了.
移行にす早さが求められるので,準備ができたらマージする.

Reviewed-on: #430
Co-authored-by: miteruzo <miteruzo@naver.com>
このコミットはプルリクエスト #430 でマージされました。
このコミットが含まれているのは:
2026-10-13 12:25:11 +09:00
committed by みてるぞ
コミット e44887cf15
85個のファイルの変更、4126行の追加、764行の削除
+11 -4
ファイルの表示
@@ -3,21 +3,28 @@
module TagRepr
BASE = { only: [:id, :category, :post_count, :created_at, :updated_at, :deprecated_at],
methods: [:has_wiki, :material_id, :has_deerjikists] }.freeze
methods: [:material_id, :has_deerjikists] }.freeze
module_function
def base tag, language_code: 'ja'
tag.as_json(BASE).merge(name: name_for(tag, language_code),
tag.as_json(BASE).merge('has_wiki' => tag.has_description?(language_code:),
name: name_for(tag, language_code),
aliases: tag.snapshot_aliases(language_code),
parents: tag.parents.map { inline(_1, language_code:) })
end
def inline tag, language_code: 'ja'
tag.as_json(BASE).merge(name: name_for(tag, language_code), aliases: [], parents: [])
tag.as_json(BASE).merge('has_wiki' => tag.has_description?(language_code:),
name: name_for(tag, language_code), aliases: [], parents: [])
end
def many(tags, language_code: 'ja') = tags.map { |tag| base(tag, language_code:) }
def many tags, language_code: 'ja'
records = tags.to_a
ActiveRecord::Associations::Preloader.new(
records:, associations: [:tag_descriptions, { parents: :tag_descriptions }]).call
records.map { |tag| base(tag, language_code:) }
end
def name_for tag, language_code
tag.name(language_code) || (tag.system? ? tag.name('ja') : nil)
+2 -1
ファイルの表示
@@ -13,6 +13,7 @@ module WikiPageRepr
def tag_description description
tag = description.tag
{ 'id' => description.id,
'resource_type' => 'tag_description',
'tag_name_id' => tag.tag_name('ja')&.id,
'body' => description.body,
'created_user_id' => description.created_by_user_id,
@@ -26,7 +27,7 @@ module WikiPageRepr
end
def tag_group tag_group
TagGroupRepr.tag_group(tag_group)
TagGroupRepr.tag_group(tag_group).merge('resource_type' => 'tag_group')
end
def many wiki_pages