このコミットが含まれているのは:
2026-10-11 03:10:35 +09:00
コミット aec65c36c6
2個のファイルの変更、16行の追加、12行の削除
+9 -5
ファイルの表示
@@ -15,7 +15,9 @@ class TagGroupMarkdownRenderer
placements = @group.fetch('placements')
validate_membership!(placements)
blocks = []
blocks << clean_text(@group['description']) if @group['description'].present?
if @group['description'].present?
blocks << clean_text(@group['description'])
end
sections = placements.select { _1.key?('section_name') }
if sections.any? && sections.size != placements.size
@@ -24,7 +26,7 @@ class TagGroupMarkdownRenderer
end
if placements.all? { _1.key?('section_name') }
blocks.concat(placements.map { render_heading(_1, 1) })
blocks.concat(placements.map { render_heading(_1, 2) })
else
blocks << render_list(placements, 0)
end
@@ -36,15 +38,17 @@ class TagGroupMarkdownRenderer
def validate_membership! placements
placed = placement_members(placements).uniq.sort
members = @group.fetch('members').map do |member|
members = @group.fetch('members').map { |member|
if member['tag']
['tag', member.fetch('tag').fetch('id')]
else
['tag_group', member.fetch('tag_group').fetch('id')]
end
end.uniq.sort
}.uniq.sort
missing = members - placed
raise UnsupportedStructure, '掲載位置のない membership は Markdown にできません.' if missing.any?
if missing.any?
raise UnsupportedStructure, '掲載位置のない membership は Markdown にできません.'
end
end
def placement_members nodes
+7 -7
ファイルの表示
@@ -6,7 +6,7 @@ RSpec.describe 'Tag group Markdown round trips through the Wiki facade', type: :
let!(:user) { create_member_user! }
let!(:series) { group_tag('ぼざろクリーチャーシリーズ') }
let!(:deer) { group_tag('洗澡鹿') }
let!(:nijika) { group_tag('伊地知ニジカ') }
let!(:nizika) { group_tag('伊地知ニジカ') }
let!(:wanted) { group_tag('タグ希望') }
let!(:character) { group_tag('キャラクター名希望') }
let!(:music) { group_tag('楽曲情報希望') }
@@ -58,9 +58,9 @@ RSpec.describe 'Tag group Markdown round trips through the Wiki facade', type: :
it 'renders a child Tag Group distinctly from its parent Tags' do
check_round_trip(
members: [tag_member(series), tag_member(nijika),
members: [tag_member(series), tag_member(nizika),
{ 'tag_group_id' => child_id, 'version_no' => 1 }],
placements: [tag_node(series, [tag_node(nijika, [
placements: [tag_node(series, [tag_node(nizika, [
{ 'tag_group_id' => child_id, 'children' => [] }])])],
markdown: <<~MARKDOWN)
- ぼざろクリーチャーシリーズ
@@ -81,14 +81,14 @@ RSpec.describe 'Tag group Markdown round trips through the Wiki facade', type: :
markdown: <<~MARKDOWN)
全体の説明
# 要求
## 要求
要求の説明
- タグ希望
- キャラクター名希望
- 楽曲情報希望
# 情報
## 情報
- bot操作
- ニジラー情報不詳
MARKDOWN
@@ -103,12 +103,12 @@ RSpec.describe 'Tag group Markdown round trips through the Wiki facade', type: :
{ 'section_name' => '子', 'description' => '子の説明',
'children' => [tag_node(deer)] }] }],
markdown: <<~MARKDOWN)
# 親
## 親
親の説明
- 洗澡鹿
## 子
### 子
子の説明
- 洗澡鹿