# File lib/asciidoctor/helpers.rb, line 23
  def self.require_library name, gem_name = true, on_failure = :abort
    require name
  rescue ::LoadError => e
    if gem_name
      gem_name = name if gem_name == true
      case on_failure
      when :abort
        fail %(asciidoctor: FAILED: required gem '#{gem_name}' is not installed. Processing aborted.)
      when :warn
        warn %(asciidoctor: WARNING: optional gem '#{gem_name}' is not installed. Functionality disabled.)
      end
    else
      case on_failure
      when :abort
        fail %(asciidoctor: FAILED: #{e.message.chomp '.'}. Processing aborted.)
      when :warn
        warn %(asciidoctor: WARNING: #{e.message.chomp '.'}. Functionality disabled.)
      end
    end
  end