このコミットが含まれているのは:
2026-09-27 23:55:19 +09:00
コミット 749d49327e
30個のファイルの変更、258行の追加、188行の削除
+2 -1
ファイルの表示
@@ -7,7 +7,8 @@ module DeerjikistRepr
module_function
def base deerjikist
deerjikist.as_json(BASE)
deerjikist.as_json(BASE).merge(
tag: deerjikist.tag && TagRepr.base(deerjikist.tag, language_code: 'ja'))
end
def many deerjikists
+3 -2
ファイルの表示
@@ -14,6 +14,7 @@ module MaterialRepr
def base material, host:
material.as_json(BASE).merge(
tag: material.tag && TagRepr.base(material.tag, language_code: 'ja'),
file: if material.file.attached?
Rails.application.routes.url_helpers.rails_storage_proxy_url(
material.file, host:)
@@ -80,7 +81,7 @@ module MaterialRepr
end
def thumbnail_fallback_text material
material.tag&.name || material.created_at&.strftime('%Y-%m-%d')
material.tag&.name('ja') || material.created_at&.strftime('%Y-%m-%d')
end
def thumbnail_fallback_kind material
@@ -102,7 +103,7 @@ module MaterialRepr
return nil unless tag
{ id: tag.id,
name: tag.name,
name: tag.name('ja'),
category: tag.category,
deprecated_at: tag.deprecated_at }
end
+1 -1
ファイルの表示
@@ -91,7 +91,7 @@ module PostRepr
post
.post_tags
.reject { _1.tag.deprecated? }
.sort_by { _1.tag.name }
.sort_by { _1.tag.name('ja') }
.map { |post_tag|
TagRepr.inline(post_tag.tag).merge(
'children' => [],
+8 -7
ファイルの表示
@@ -3,18 +3,19 @@
module TagRepr
BASE = { only: [:id, :category, :post_count, :created_at, :updated_at, :deprecated_at],
methods: [:name, :has_wiki, :material_id, :has_deerjikists] }.freeze
methods: [:has_wiki, :material_id, :has_deerjikists] }.freeze
module_function
def base tag
tag.as_json(BASE).merge(aliases: tag.snapshot_aliases,
parents: tag.parents.map { _1.as_json(BASE) })
def base tag, language_code: 'ja'
tag.as_json(BASE).merge(name: tag.name(language_code),
aliases: tag.snapshot_aliases(language_code),
parents: tag.parents.map { inline(_1, language_code:) })
end
def inline tag
tag.as_json(BASE).merge(aliases: [], parents: [])
def inline tag, language_code: 'ja'
tag.as_json(BASE).merge(name: tag.name(language_code), aliases: [], parents: [])
end
def many(tags) = tags.map { |t| base(t) }
def many(tags, language_code: 'ja') = tags.map { |tag| base(tag, language_code:) }
end