Sha256: 03cbb4fb6469de2aea093d4b8c5292da11423211ab739e4e40e36cb8dd818341
Contents?: true
Size: 1.07 KB
Versions: 4
Compression:
Stored size: 1.07 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.class::XML_ROOT_TAG end acc end end end end
Version data entries
4 entries across 4 versions & 1 rubygems
Version | Path |
---|---|
metanorma-1.0.3 | lib/metanorma/registry.rb |
metanorma-1.0.2 | lib/metanorma/registry.rb |
metanorma-1.0.1 | lib/metanorma/registry.rb |
metanorma-1.0.0 | lib/metanorma/registry.rb |