class Mdtoc::Markdown::Header
Public Class Methods
new(depth, label, url)
click to toggle source
# File lib/mdtoc/markdown/header.rb, line 12 def initialize(depth, label, url) if depth < 0 raise ArgumentError, "Header depth must be >= 0, but was #{depth}" end @depth = depth @label = normalize_label(label) @url = url end
Public Instance Methods
to_s()
click to toggle source
# File lib/mdtoc/markdown/header.rb, line 22 def to_s prefix = ' ' * 2 * @depth "#{prefix}* [#{@label}](#{@url})" end
top_level?(relative_to_depth)
click to toggle source
# File lib/mdtoc/markdown/header.rb, line 28 def top_level?(relative_to_depth) @depth == relative_to_depth end
Private Instance Methods
normalize_label(label)
click to toggle source
# File lib/mdtoc/markdown/header.rb, line 34 def normalize_label(label) label = label.strip.tr("\t\n\r", '') # Remove whitespace characters other than spaces. label.gsub(/\[(.*)\]\(.*\)/, '\1') # Remove links end