class Metanorma::Flavor

Constants

PRIVATE_SUPPORTED_GEMS
SUPPORTED_GEMS

Public Class Methods

activate() click to toggle source
# File lib/metanorma/flavor.rb, line 29
def self.activate
  new.activate
end
load_flavors() click to toggle source
# File lib/metanorma/flavor.rb, line 33
def self.load_flavors
  new.load_flavors
end

Public Instance Methods

activate() click to toggle source
# File lib/metanorma/flavor.rb, line 37
def activate
  flavors.each do |flavor_name|
    begin
      gem(flavor_name)
    rescue LoadError, MissingSpecError => _e
      Metanorma::Cli::UI.debug("#{flavor_name} is not present!")
    end
  end
end
load_flavors() click to toggle source
# File lib/metanorma/flavor.rb, line 47
def load_flavors
  flavors.each do |flavor_name|
    begin
      require(flavor_name)
    rescue LoadError => _e
      gem_loading_error(flavor_name)
    end
  end
end

Private Instance Methods

flavors() click to toggle source
# File lib/metanorma/flavor.rb, line 59
def flavors
  @flavors ||= [SUPPORTED_GEMS + PRIVATE_SUPPORTED_GEMS].flatten.uniq
end
gem_loading_error(flavor_name) click to toggle source
# File lib/metanorma/flavor.rb, line 63
def gem_loading_error(flavor_name)
  unless PRIVATE_SUPPORTED_GEMS.include?(flavor_name)
    Metanorma::Cli::UI.error(
      "[metanorma] Error: flavor gem #{flavor_name} not present",
    )
  end
end