Sha256: 0674a8f955e06f64497f562888a33df7d8eb64fa51df1b38092f15568ac8a8ac

Contents?: true

Size: 460 Bytes

Versions: 2

Compression:

Stored size: 460 Bytes

Contents

# frozen_string_literal: true

require 'logger'

##
# Обертка для хранения объекта Logger

class LoggerHolder
  private_class_method :new
  @instance_mutex = Mutex.new

  attr_reader :logger

  def initialize
    @logger = Logger.new(STDOUT)
  end

  def self.instance
    return @instance.logger if @instance

    @instance_mutex.synchronize do
      @instance ||= new
    end

    @instance.logger
  end
end

Version data entries

2 entries across 2 versions & 2 rubygems

Version Path
shnaider_carproj-0.1.0 test/logger.rb
starproxima_library-0.1.0 lib/logger.rb