class Asciidoctor::Diagram::DiagramInlineMacroProcessor

Base class for diagram inline macro processors.

Public Class Methods

inherited(subclass) click to toggle source
# File lib/asciidoctor-diagram/diagram_processor.rb, line 414
def self.inherited(subclass)
  subclass.name_positional_attributes ['format']
end

Public Instance Methods

apply_target_subs(parent, target) click to toggle source
# File lib/asciidoctor-diagram/diagram_processor.rb, line 418
def apply_target_subs(parent, target)
  if target
    parent.normalize_system_path(parent.sub_attributes(target, :attribute_missing => 'warn'))
  else
    nil
  end
end
create_source(parent, target, attributes) click to toggle source

Creates a FileSource using target as the file name.

@return [FileSource] a FileSource

# File lib/asciidoctor-diagram/diagram_processor.rb, line 451
def create_source(parent, target, attributes)
  FileSource.new(self, parent, apply_target_subs(parent, target), attributes)
end
generate_block(parent, reader_or_target, attributes)
Alias for: process
process(parent, reader_or_target, attributes) click to toggle source
# File lib/asciidoctor-diagram/diagram_processor.rb, line 428
def process(parent, reader_or_target, attributes)
  block = generate_block(parent, reader_or_target, attributes)
  attrs = block.attributes.dup
  target = attrs.delete('target')

  # Don't let the asciidoctor try to apply substitutions.
  # The text of inline macros is nil which will cause an error
  attrs.delete('subs')

  if block.context == :image
    create_inline(parent, :image, nil, :type => 'image', :target => target, :attributes => attrs)
  else
    create_inline(parent, :quoted, block.source, :type => :monospaced, :attributes => attrs)
  end
end
Also aliased as: generate_block
supported_formats(converter) click to toggle source
# File lib/asciidoctor-diagram/diagram_processor.rb, line 444
def supported_formats(converter)
  converter.supported_formats.reject { |f| TEXT_FORMATS.include?(f) }
end