class RDoc::RD::Inline

frozen_string_literal: true

Inline keeps track of markup and labels to create proper links.

Attributes

rdoc[R]

The markup of this reference in RDoc format

reference[R]

The text of the reference

to_s[R]

The markup of this reference in RDoc format

Public Class Methods

new(rdoc, reference = rdoc) click to toggle source

Creates a new Inline for rdoc and reference.

rdoc may be another Inline or a String. If reference is not given it will use the text from rdoc.

Calls superclass method
# File lib/rdoc/rd/inline.rb, line 23
def self.new rdoc, reference = rdoc
  if self === rdoc and reference.equal? rdoc then
    rdoc
  else
    super
  end
end

Public Instance Methods

append(more) click to toggle source

Appends more to this inline. more may be a String or another Inline.

# File lib/rdoc/rd/inline.rb, line 50
def append more
  case more
  when String then
    @reference += more
    @rdoc      += more
  when RDoc::RD::Inline then
    @reference += more.reference
    @rdoc      += more.rdoc
  else
    raise "unknown thingy #{more}"
  end

  self
end

Protected Instance Methods

initialize(rdoc, reference) click to toggle source

Initializes the Inline with rdoc and inline

# File lib/rdoc/rd/inline.rb, line 34
def initialize rdoc, reference # :not-new:
  @reference = reference.equal?(rdoc) ? reference.dup : reference

  # unpack
  @reference = @reference.reference if self.class === @reference
  @rdoc      = rdoc
end