class Asciidoctor::Extensions::Processor

def parse_attributes block, attrlist, opts = {}

Returns a Hash of parsed attributes

:sub_attributes - enables attribute substitution on the attrlist argument (optional, default: false)
:positional_attributes - an Array of attribute names to map positional arguments to (optional, default: false)
opts - an optional Hash of options to control processing:
attrlist - the list of attributes as a String
block - the current AbstractBlock or the parent AbstractBlock if there is no current block (used for applying subs)

Public: Parses the attrlist String into a Hash of attributes
def parse_attributes block, attrlist, opts = {}
  return {} if attrlist ? attrlist.empty? : true
  attrlist = block.sub_attributes attrlist if opts[:sub_attributes] && (attrlist.include? ATTR_REF_HEAD)
  (AttributeList.new attrlist).parse (opts[:positional_attributes] || [])
end