module Asciidoctor
def self.debug
def self.debug puts yield if self.show_debug_output? end
def self.puts_indented(level, *args)
def self.puts_indented(level, *args) indentation = " " * level * 2 args.each do |arg| self.debug { "#{indentation}#{arg}" } end end
def self.require_library(name)
name - the String name of the library to require.
manual require if running in a threaded environment.
Internal: Prior to invoking Kernel#require, issues a warning urging a
def self.require_library(name) if Thread.list.size > 1 main_script = "#{name}.rb" main_script_path_segment = "/#{name}.rb" if !$LOADED_FEATURES.detect {|p| p == main_script || p.end_with?(main_script_path_segment) }.nil? return else warn "WARN: asciidoctor is autoloading '#{name}' in threaded environment. " + "The use of an explicit require '#{name}' statement is recommended." end end require name nil end
def self.set_debug(value)
def self.set_debug(value) @show_debug = value end
def self.show_debug_output?
def self.show_debug_output? @show_debug || (ENV['DEBUG'] == 'true' && ENV['SUPPRESS_DEBUG'] != 'true') end