Sha256: be5840585459fada12c10bd6de0e2497e861656b02a27fcb9e4edef9cd1189df
Contents?: true
Size: 911 Bytes
Versions: 10
Compression:
Stored size: 911 Bytes
Contents
# Copyright (c) 2020 Jerome Arbez-Gindre # frozen_string_literal: true # Add a class to handled asciidoctor comments module DefMastership attr_reader :comment_filter # Kind of proxy that Filters comments fome Asciidoctor document class CommentFilter def initialize @in_multiline_comment = false end def accept?(line) case line when DMRegexp::SINGLE_LINE_COMMENT then false when DMRegexp::MULTI_LINE_COMMENT_DELIM @in_multiline_comment ^= true false else !@in_multiline_comment end end end @comment_filter = CommentFilter.new def self.reset_comments @comment_filter = CommentFilter.new nil end def self.comment_filter @comment_filter end end # adding a method to string to figure out if a string is commented or # not. class String def commented? !DefMastership.comment_filter.accept?(self) end end
Version data entries
10 entries across 10 versions & 1 rubygems