50 行
1.5 KiB
Ruby
50 行
1.5 KiB
Ruby
# frozen_string_literal: true
|
|
|
|
|
|
module WikiPageRepr
|
|
module_function
|
|
|
|
def tag_description locale, description
|
|
tag = description.tag
|
|
|
|
{ 'id' => description.id,
|
|
'resource_type' => 'tag_description',
|
|
'tag_id' => tag.id,
|
|
'language_code' => description.language_code,
|
|
'tag_name_id' => tag.tag_name(locale.language_code)&.id,
|
|
'body' => description.body,
|
|
'created_user_id' => description.created_by_user_id,
|
|
'updated_user_id' => description.updated_by_user_id,
|
|
'created_at' => description.created_at,
|
|
'updated_at' => description.updated_at,
|
|
'discarded_at' => nil,
|
|
'version_no' => description.version_no,
|
|
'title' => tag.name(locale.language_code),
|
|
'deprecated_at' => tag.deprecated_at }
|
|
end
|
|
|
|
def tag_group tag_group
|
|
TagGroupRepr.tag_group(tag_group).merge('resource_type' => 'tag_group')
|
|
end
|
|
|
|
def autolink_tag locale, tag_id:, description_id:, name:
|
|
{ resource_type: 'tag_description',
|
|
resource_id: description_id,
|
|
tag_id:,
|
|
tag_description_id: description_id,
|
|
name:,
|
|
language_code: locale.language_code,
|
|
locale_code: locale.code_before_type_cast }
|
|
end
|
|
|
|
def autolink_group locale, id:, name:, language:
|
|
{ resource_type: 'tag_group',
|
|
resource_id: id,
|
|
tag_id: nil,
|
|
tag_description_id: nil,
|
|
name: "#{ TagGroupRepr::PREFIX }#{ name }",
|
|
language_code: language,
|
|
locale_code: locale.code_before_type_cast }
|
|
end
|
|
end
|