Sha256: 2cd0c9c60d10956620ffd7cc8955b6d63736d3b4e4abde2f337f4d7fcfcafc62
Contents?: true
Size: 1.6 KB
Versions: 4
Compression:
Stored size: 1.6 KB
Contents
require "isodoc" module IsoDoc module Generic class Metadata < IsoDoc::Metadata def initialize(lang, script, labels) super here = File.dirname(__FILE__) default_logo_path = File.expand_path(File.join(here, "html", "logo.jpg")) set(:logo, baselocation(configuration.logo_path) || default_logo_path) unless configuration.logo_paths.nil? set(:logo_paths, Array(configuration.logo_paths).map { |p| baselocation(p) }) end end class << self attr_accessor :_file end def self.inherited( k ) k._file = caller_locations.first.absolute_path end def baselocation(loc) return nil if loc.nil? File.expand_path(File.join( File.dirname(self.class::_file || __FILE__), "..", "..", "..", loc)) end def configuration Metanorma::Generic.configuration end def author(isoxml, _out) super tc = isoxml.at(ns("//bibdata/ext/editorialgroup/committee")) set(:tc, tc.text) if tc end def stage_abbr(status) return super unless configuration.stage_abbreviations Hash(configuration.stage_abbreviations).dig(status) end def unpublished(status) stages = configuration&.published_stages || ["published"] !(Array(stages).map { |m| m.downcase }.include? status.downcase) end def ext(isoxml, out) Array(configuration.metadata_extensions).each do |e| b = isoxml&.at(ns("//bibdata/ext/#{e}"))&.text or next set(e.to_sym, b) end end end end end
Version data entries
4 entries across 4 versions & 2 rubygems