class DocTemplate::Tags::GroupTag

Constants

TAG_NAME
TEMPLATES

Public Instance Methods

parse(node, opts = {}) click to toggle source
# File lib/doc_template/tags/group_tag.rb, line 14
def parse(node, opts = {})
  group = opts[:agenda].level1_by_title(opts[:value].parameterize)
  @anchor = group.anchor
  @materials = group.material_ids

  before_materials = ''
  if (with_materials = group.material_ids.any?)
    before_materials = content_until_materials node
    before_materials = parse_nested before_materials.to_s, opts
  end

  content = content_until_break node
  content = parse_nested content.to_s, opts
  params = {
    before_materials: before_materials,
    content: content,
    group: group,
    placeholder: placeholder_id,
    react_props: {
      activity: {
        title: group.title
      },
      group: true,
      material_ids: group.material_ids
    },
    with_materials: with_materials
  }
  @content = parse_template params, template_name(opts)
  replace_tag node
  self
end