Class: Mdtoc::Markdown::Header

Inherits:
Object
  • Object
show all
Extended by:
T::Sig
Defined in:
lib/mdtoc/markdown/header.rb

Direct Known Subclasses

HeaderWithFragment

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(depth, label, url) ⇒ Header

Returns a new instance of Header.

Raises:

  • (ArgumentError)


16
17
18
19
20
21
22
# File 'lib/mdtoc/markdown/header.rb', line 16

def initialize(depth, label, url)
  raise ArgumentError, "Header depth must be >= 0, but was #{depth}" if depth.negative?

  @depth = depth
  @label = normalize_label(label)
  @url = url
end

Instance Attribute Details

#depthObject

Returns the value of attribute depth.



13
14
15
# File 'lib/mdtoc/markdown/header.rb', line 13

def depth
  @depth
end

Instance Method Details

#to_sObject



25
26
27
28
# File 'lib/mdtoc/markdown/header.rb', line 25

def to_s
  prefix = ' ' * 2 * @depth
  "#{prefix}* [#{@label}](#{@url})"
end

#top_level?(relative_to_depth) ⇒ Boolean

Returns:

  • (Boolean)


31
32
33
# File 'lib/mdtoc/markdown/header.rb', line 31

def top_level?(relative_to_depth)
  @depth == relative_to_depth
end