# File lib/asciidoctor/abstract_block.rb, line 212
  def assign_caption(caption = nil, key = nil)
    unless title? || @caption.nil?
      return nil
    end

    if caption.nil?
      if @document.attr?('caption')
        @caption = @document.attr('caption')
      elsif title?
        key ||= @context.to_s
        caption_key = "#{key}-caption"
        if @document.attributes.has_key?(caption_key)
          caption_title = @document.attributes["#{key}-caption"]
          caption_num = @document.counter_increment("#{key}-number", self)
          @caption = "#{caption_title} #{caption_num}. "
        end
      else
        @caption = caption
      end
    else
      @caption = caption
    end
    nil
  end