Class: Metanorma::Standoc::FormSelectMacro

Inherits:
Asciidoctor::Extensions::InlineMacroProcessor
  • Object
show all
Defined in:
lib/metanorma/standoc/macros_form.rb

Instance Method Summary collapse

Instance Method Details

#map_attr_name(attr) ⇒ Object



54
55
56
# File 'lib/metanorma/standoc/macros_form.rb', line 54

def map_attr_name(attr)
  attr == "id" ? "anchor" : attr
end

#process(parent, _target, attr) ⇒ Object



58
59
60
61
62
63
64
65
# File 'lib/metanorma/standoc/macros_form.rb', line 58

def process(parent, _target, attr)
  m = %w(id name size disabled multiple value)
    .map { |a| attr[a] ? " #{map_attr_name(a)}='#{attr[a]}'" : nil }
    .compact
  m << " id='_#{UUIDTools::UUID.random_create}'"
  out = Asciidoctor::Inline.new(parent, :quoted, attr["text"]).convert
  %{<select #{m.join}>#{out}</select>}
end