Sha256: 21b6089aaf13268207cf8049800d8c3d648158d3f2702a4004be4a0494a3423e

Contents?: true

Size: 1.81 KB

Versions: 5

Compression:

Stored size: 1.81 KB

Contents

# frozen_string_literal: true

module EtCcdClient
# Null logger class. This is essentially the same as sending data down the
# `/dev/null` black hole.
#
# @example Basic Usage
#
#   logger = NullLogger.new
#   Rails.logger = logger
#
#
# @example Basic Pattern Usage
#   class SomeService
#     def initialize(options = {})
#       @logger = options[:logger] || NullLogger.new
#     end
#
#     def perform
#       @logger.debug -> { "do some work here" }
#       # .. ..
#       @logger.info -> { "finished working" }
#     end
#   end
#
#   service = SomeService.new(logger: Logger.new(STDOUT))
#   service.perform
#
#   silent = SomeService.new(logger: NullLogger.new
#   silent.perform
#
  class NullLogger
    
    # @param _args Anything that we want to ignore
    # @return [nil]
    def tagged(*)
      yield if block_given?
    end
    # @param _args Anything that we want to ignore
    # @return [nil]
    def unknown(*_args)
      nil
    end
    
    # @param _args Anything that we want to ignore
    # @return [nil]
    def fatal(*_args)
      nil
    end
    
    # @return [FALSE]
    def fatal?
      false
    end
    
    # @param _args Anything that we want to ignore
    # @return [nil]
    def error(*_args)
      nil
    end
    
    # @return [FALSE]
    def error?
      false
    end
    
    # @param _args Anything that we want to ignore
    # @return [nil]
    def warn(*_args)
      nil
    end
    
    # @return [FALSE]
    def warn?
      false
    end
    
    # @param _args Anything that we want to ignore
    # @return [nil]
    def info(*_args)
      nil
    end
    
    # @return [FALSE]
    def info?
      false
    end
    
    # @param _args Anything that we want to ignore
    # @return [nil]
    def debug(*_args)
      nil
    end
    
    # @return [FALSE]
    def debug?
      false
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
et_ccd_client-0.4.0 lib/et_ccd_client/null_logger.rb
et_ccd_client-0.3.4 lib/et_ccd_client/null_logger.rb
et_ccd_client-0.3.3 lib/et_ccd_client/null_logger.rb
et_ccd_client-0.3.2 lib/et_ccd_client/null_logger.rb
et_ccd_client-0.3.1 lib/et_ccd_client/null_logger.rb