class Tocer::Elements::CommentBlock

Represents a table of contents start and finish comment block.

Public Class Methods

index(lines, id) click to toggle source
# File lib/tocer/elements/comment_block.rb, line 7
def self.index lines, id
  (lines.index { |line| line =~ /<!--.*#{Regexp.escape id}.*-->/ }).to_i
end
new(start_id: "Tocer[start]", finish_id: "Tocer[finish]", message: "Auto-generated, don't remove.") click to toggle source
# File lib/tocer/elements/comment_block.rb, line 11
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

Public Instance Methods

comment(id, message) click to toggle source
# File lib/tocer/elements/comment_block.rb, line 34
  def comment(id, message) = "<!-- #{id}: #{message} -->"
end
finish_index(lines) click to toggle source
# File lib/tocer/elements/comment_block.rb, line 24
    def finish_index(lines) = self.class.index(lines, finish_id)

    def finish_tag = comment(finish_id, message)

    def prependable?(lines) = start_index(lines).zero? && finish_index(lines).zero?

    private

    attr_reader :start_id, :finish_id, :message

    def comment(id, message) = "<!-- #{id}: #{message} -->"
  end
end
finish_tag(= comment(finish_id, message)) click to toggle source
# File lib/tocer/elements/comment_block.rb, line 26
      def finish_tag = comment(finish_id, message)

      def prependable?(lines) = start_index(lines).zero? && finish_index(lines).zero?

      private

      attr_reader :start_id, :finish_id, :message

      def comment(id, message) = "<!-- #{id}: #{message} -->"
    end
  end
end
prependable?(lines) click to toggle source
# File lib/tocer/elements/comment_block.rb, line 28
    def prependable?(lines) = start_index(lines).zero? && finish_index(lines).zero?

    private

    attr_reader :start_id, :finish_id, :message

    def comment(id, message) = "<!-- #{id}: #{message} -->"
  end
end
start_index(lines) click to toggle source
# File lib/tocer/elements/comment_block.rb, line 20
def start_index(lines) = self.class.index(lines, start_id)

def start_tag = comment(start_id, message)

def finish_index(lines) = self.class.index(lines, finish_id)

def finish_tag = comment(finish_id, message)

def prependable?(lines) = start_index(lines).zero? && finish_index(lines).zero?

private

attr_reader :start_id, :finish_id, :message

def comment(id, message) = "<!-- #{id}: #{message} -->"
    
start_tag(= comment(start_id, message)) click to toggle source
# File lib/tocer/elements/comment_block.rb, line 22
  def start_tag = comment(start_id, message)

  def finish_index(lines) = self.class.index(lines, finish_id)

  def finish_tag = comment(finish_id, message)

  def prependable?(lines) = start_index(lines).zero? && finish_index(lines).zero?

  private

  attr_reader :start_id, :finish_id, :message

  def comment(id, message) = "<!-- #{id}: #{message} -->"
end