class Lutaml::Model::Logger

def self.warn(message)

def self.warn(message)
  new.call(message, :warn)
end

def self.warn_auto_handling(name:, caller_file:, caller_line:)

Parameters:
  • caller_line (Integer) --
  • caller_file (String) --
  • name (String) --
def self.warn_auto_handling(name:, caller_file:, caller_line:)
  warn("`#{name}` is handled by default. No need to explecitly define at `#{caller_file}:#{caller_line}`")
end

def self.warn_future_deprication(old:, replacement:)

Parameters:
  • replacement: (String) -- The name of the replacement class or method
  • old: (String) -- The name of the deprecated class or method
def self.warn_future_deprication(old:, replacement:)
  warn("Usage of `#{old}` is deprecated and will be removed in the next major release. Please use `#{replacement}` instead.")
end

def call(message, type)

def call(message, type)
  Warning.warn format_message(message, type)
end

def colorize(message, type)

def colorize(message, type)
  type_color = {
    error: 31, # Red: 31
    success: 32, # Green: 32
    warn: 33, # Yellow: 33
  }
  io = type == :warn ? $stderr : $stdout
  return message unless io.tty?
  color = type_color[type]
  "\e[#{color}m#{message}\e[0m"
end

def format_message(message, type)

def format_message(message, type)
  colorize("\n[Lutaml::Model] #{type.upcase}: #{message}\n", type)
end