Sha256: d3d0a5fc7a18d41842821cda4420702e61411b3fedbec4745da78bef1ed0d31e

Contents?: true

Size: 381 Bytes

Versions: 4

Compression:

Stored size: 381 Bytes

Contents

# typed: strict

require "logger"

module DataModel
	module Logging
		extend T::Sig
		include Kernel

		sig { returns(Logger) }
		def log
			target = T.let(respond_to?(:name) ? self : self.class, T.any(Class, Module))

			logger = Logger.new(
				STDERR,
				level: Logger::FATAL,
				progname: target.name,
			)

			return @log ||= T.let(logger, T.nilable(Logger))
		end
	end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
data_model-0.4.0 lib/data_model/logging.rb
data_model-0.3.0 lib/data_model/logging.rb
data_model-0.2.0 lib/data_model/logging.rb
data_model-0.1.0 lib/data_model/logging.rb