class Tocer::Elements::CommentBlock
Represents a table of contents start and finish comment block.
def self.index lines, id
def self.index lines, id (lines.index { |line| line =~ /<!--.*#{Regexp.escape id}.*-->/ }).to_i end
def comment(id, message) = "<!-- #{id}: #{message} -->"
def comment(id, message) = "<!-- #{id}: #{message} -->"
def comments = "#{start_tag}\n#{finish_tag}\n"
def comments = "#{start_tag}\n#{finish_tag}\n"
def empty?(lines) = (finish_index(lines) - start_index(lines)) == 1
def empty?(lines) = (finish_index(lines) - start_index(lines)) == 1
def finish_index(lines) = self.class.index(lines, finish_id)
def finish_index(lines) = self.class.index(lines, finish_id)
def finish_tag = comment(finish_id, message)
def finish_tag = comment(finish_id, message)
def initialize start_id: "Tocer[start]",
def initialize start_id: "Tocer[start]", finish_id: "Tocer[finish]", message: "Auto-generated, don't remove." @start_id = start_id @finish_id = finish_id @message = message end
def prependable?(lines) = start_index(lines).zero? && finish_index(lines).zero?
def prependable?(lines) = start_index(lines).zero? && finish_index(lines).zero?
def start_index(lines) = self.class.index(lines, start_id)
def start_index(lines) = self.class.index(lines, start_id)
def start_tag = comment(start_id, message)
def start_tag = comment(start_id, message)