Class: Metanorma::Iso::Sts::Transformer::FigureTransformer

Inherits:
Transformer::Base
  • Object
show all
Defined in:
lib/metanorma/iso/sts/transformer/figure_transformer.rb

Instance Method Summary collapse

Instance Method Details

#transform(figure) ⇒ Object



7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
# File 'lib/metanorma/iso/sts/transformer/figure_transformer.rb', line 7

def transform(figure)
  build_ordered(::Sts::IsoSts::Fig) do |f|
    f.id = id_for(figure)

    figure_label = label_for(figure)
    f.label figure_label if figure_label

    if figure.title
      caption = build_ordered(::Sts::IsoSts::Caption) do |c|
        inline_transformer.apply_inline_content(figure.title, c)
      end
      f.title caption
    end

    if figure.image
      images = figure.image.is_a?(Array) ? figure.image : [figure.image]
      images.each do |img|
        next unless img

        graphic = build_ordered(::Sts::IsoSts::Graphic) do |g|
          g.xlink_href = img.src if img.src
        end
        f.graphic graphic
      end
    end
  end
end