Sha256: 12eac2dab22a59a0922e8b93785c60e527b66aedd73681fbdadae7eca9347466
Contents?: true
Size: 1.06 KB
Versions: 5
Compression:
Stored size: 1.06 KB
Contents
# Registry of all Metanorma types and entry points # require 'singleton' class Error < StandardError end module Metanorma class Registry include Singleton attr_reader :processors def initialize @processors = {} end def register processor raise Error unless processor < ::Metanorma::Processor p = processor.new Array(p.short).each do |s| @processors[s] = p end Util.log("[metanorma] processor \"#{Array(p.short)[0]}\" registered", :info) end def find_processor(short) @processors[short.to_sym] end def supported_backends @processors.keys end def processors @processors end def output_formats @processors.inject({}) do |acc, (k,v)| acc[k] = v.output_formats acc end end def root_tags @processors.inject({}) do |acc, (k,v)| if v.asciidoctor_backend x = Asciidoctor.load nil, {backend: v.asciidoctor_backend} acc[k] = x.converter.xml_root_tag end acc end end end end
Version data entries
5 entries across 5 versions & 1 rubygems